给定一个矩阵,是否有一种快速算法来恢复前导奇异向量,即找到最接近弗罗贝尼乌斯范数矩阵的秩 1 矩阵?
通过快速算法,我的意思是比以下更快的任何速度:
[U, S, V] = svd(A);
A1 = U(:,1)*S(1,1)*V(:,1)';
因此,幂法可用于此目的:
C = A*A';
v1 = power_method(C);
v2 = nanmean(A./v1,1)';
A1 = v1*v2';
但在我的实验中,它并不总是比高度优化的全SVD快:
[U,S,V] = svd(A);
A1 = U(:,1)*S(1,1)*V(:,1)';
但我想对于大型矩阵,它可能工作得更好。