【问题标题】:Generalized Singular Value Decomposition & Sparse Matrices广义奇异值分解和稀疏矩阵
【发布时间】:2013-11-18 16:52:27
【问题描述】:

我想为 稀疏矩阵 A 和 B 计算 广义奇异值分解 (GSVD)。因此我正在寻找实现能够为稀疏矩阵使用特殊的数据结构。

我发现的唯一实现 (here) 是用 Fortran 77 编写的 LAPACK 包的一部分。 它工作得很好,但不幸的是它不能处理稀疏矩阵。

【问题讨论】:

  • 为什么不在scicomp.stackexchange.com发帖?
  • "SVDPACK 包含四种数值(迭代)方法,用于使用双精度 ANSI Fortran-77 计算大型稀疏矩阵的奇异值分解 (SVD)。"也许它有帮助。我对这个包没有经验。
  • 谢谢,但我正在寻找 GENERALIZED 奇异值分解。
  • 可能不是你想要的答案,但你考虑过自己写吗?
  • 这就是我第一次尝试做的事情。但我还是不明白算法,我的主要问题。

标签: math fortran implementation linear-algebra svd


【解决方案1】:

MATLAB 的 gsvd 接受 sparse matrices。我相信 Octave(免费提供)也支持 gsvd

【讨论】:

  • 接受稀疏矩阵只是意味着将它们转换为完整存储并计算所有奇异值。这里的问题是有一个广义的 SV 分解,其语义与 svds 相同,它只返回几个奇异值,而不是全部。
【解决方案2】:

我在 Scicomp 上问过同样的问题并得到了很好的答案。帖子可以在here找到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-01
    • 2021-02-27
    • 2016-04-19
    • 1970-01-01
    • 1970-01-01
    • 2014-07-12
    • 2012-10-23
    相关资源
    最近更新 更多