【问题标题】:Does Lapack check if a matrix is invertible before it tries to invert itLapack 在尝试反转矩阵之前是否检查矩阵是否可逆
【发布时间】:2013-06-20 16:23:46
【问题描述】:

我在 c 代码中使用 LAPACK,它允许我对矩阵求逆。更准确地说,我使用 dgetrf_ 然后 dgetri_ 进行反转。

但是由于我正在处理大矩阵并且我不知道矩阵是否可逆,所以我浪费了很多时间来反转一个不可逆矩阵......有没有办法,使用 LAPACK 来检查这个?

【问题讨论】:

    标签: c lapack matrix-inverse


    【解决方案1】:

    关于 dgetrf+dgetri 在奇异矩阵上的失败,请参阅 this link(尽管它已经有几年了)。它还提出了一种检查相关矩阵“可逆性”的方法:估计条件数(函数dgecon)。

    条件数可以提供帮助,因为它是矩阵本身的属性,因此与算法的准确性和/或 PC 的舍入误差无关。条件数越大,矩阵越接近奇点,因此您基本上可以在条件数上设置(变量)上限。请参阅this page 底部的表格,了解基于您使用的矩阵类型的潜在函数调用顺序。

    【讨论】:

    • 我猜你想写 dgecon
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    相关资源
    最近更新 更多