【发布时间】:2019-05-24 02:16:26
【问题描述】:
我们现在 A_(m x n) = U_(m x k) * S_(k x k) * V_(k x n)^T = u_(1) * s_1 * v_(1) + u_(2) * s_2 * v_(2) + ..., ,其中 u_(i) 和 v(i) 是 U 和 V 的第 i 列,s_i - S 的第 i 个对角线元素。我试图得到一个数组 a不使用循环,a[i] = u_(1) * s_1 * v_(1) + u_(2) * s_2 * v_(2) + ... + u_(i) * s_i * v_(i). 下一步该怎么做?
from numpy.linalg import svd
U, S, VT = svd(A, full_matrices=False)
A_1 = U[:, 0:1] * S[0] @ VT[0:1]
【问题讨论】: