Here’s a response to your second question:
If you look here: https://github.com/pytorch/pytorch/blob/fa8044d92f8a77b8008ca5e295a341abb9d26f13/torch/tensor.py#L292 130 ,
The actual symbols (+ -  * / etc) and their equivalent operators (add(), sub(), etc) do the same thing.
i.e. a + b calls a.sum(b) under the hood (look at the __add__ method),
and a += 1 calls a.add_(1) (look at the __iadd__ method).