Would the following two np.dot give the same result for a square array x?
import numpy as np
x = np.arange(4 * 4).reshape(4, 4)
np.dot(x, x.T, out=x) # method 1
x[:] = np.dot(x, x.T) # method 2
Thanks.
Why I ask:
x += x.T is not the same as x += x.T.copy()
I don't know how does the internal of np.dot work. Does np.dot similarly treat the out argument as a view? is it ok if out is one of the matrices to be multiplied?
The numpy that I am using is from anaconda, which is using mkl as a backend.


x[:] = ...??