我有一个k*n矩阵X和一个k*k矩阵A.对于每一列X,我想计算标量
X[:, i].T.dot(A).dot(X[:, i])
Run Code Online (Sandbox Code Playgroud)
(或者,数学上Xi' * A * Xi).
目前,我有一个for循环:
out = np.empty((n,))
for i in xrange(n):
out[i] = X[:, i].T.dot(A).dot(X[:, i])
Run Code Online (Sandbox Code Playgroud)
但是因为n很大,我想尽可能快地做到这一点(即使用一些NumPy函数而不是循环).