1

我正在尝试使用 Trilinos 包中的 LAPACK 求解器求解大型稀疏 30,000x1,000 矩阵。我的目标是最小化计算时间,但是这个 Lapack 求解器只需要方阵。所以我通过乘以它的转置手动将我的非方阵(A)转换为方阵,基本上像这样解决系统:

(A T *A)x = A T *b

使我的求解速度变慢的是矩阵乘以 A T步。有想法该怎么解决这个吗?

4

1 回答 1

1

您可以直接计算 QR 分解 ( wikipedia-link ) 并使用它来解决您的最小二乘问题。这样您就不必计算矩阵 product A^T A

有多个 LAPACK 例程用于计算 QR 分解,例如gels通用矩阵 ( intel-link ) 的驱动例程。

我必须说我不知道​​ Trilinos 是否提供该例程,但它是标准的 LAPACK 例程。

于 2021-01-10T22:07:41.137 回答