用于求解A x = 0的Lapack例程

时间:2015-11-06 09:25:29

标签: c++ c fortran numerical-methods lapack

我正在寻找一个LAPACK例程,它允许找到以下等式的非平凡解决方案:

A x = 0

如果 A n × n 方形奇异非对称带状矩阵。

实际上 A 矩阵可能不是完全单一的,因为它基于某些参数而我使用根查找算法来查找此参数(需要det( A )= 0,其中使用DGBTRF和对角元素的乘法找到行列式。)

我到目前为止唯一的解决方案是考虑 A 密集矩阵矩阵,使用DGEEV查找其特征值和特征向量,并将特征向量作为特征值最接近零。但是,我认为这是次优的方法。谁能建议一个更好的?

1 个答案:

答案 0 :(得分:1)

执行此操作的最佳方式可能是Inverse Iteration

Lapack确实为上层Hessenberg矩阵(DHSEIN)实现了这个,并且还有一些例程来计算一般矩阵的上Hessenber形式(PxGEHRD)。

由于您只需要一个特征向量,因此在原始矩阵上使用逆迭代可能会更快,特别是如果您可以对解决方案进行良好的初始猜测。由于这很容易实现,您可以尝试两者并查看更快的内容。

(假设仍有一些特征值接近0,如果该误差太大,则需要重新计算特征值。)