【问题标题】:Fast way to recover the leading singular vectors恢复领先奇异向量的快速方法
【发布时间】:2019-06-16 14:52:45
【问题描述】:

给定一个矩阵,是否有一种快速算法可以恢复前导奇异向量,即找到最接近 Frobenius 范数矩阵的 rank-1 矩阵?

我所说的快速算法是指任何比以下更快的算法:

  [U, S, V] = svd(A);
  A1 = U(:,1)*S(1,1)*V(:,1)';

【问题讨论】:

  • 前导奇异向量可以通过计算A^large_power(并取范数)得到。
  • 这个问题更适合Computational Science SE。简而言之,我认为您正在查看ARPACK-type 库。

标签: algorithm linear-algebra svd


【解决方案1】:

所以power method 可以用于此目的:

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)';

但我想对于大型矩阵它可能会更好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-12
    • 2016-08-10
    • 2012-03-12
    相关资源
    最近更新 更多