标签: c lapack matrix-inverse
我在一个允许我反转矩阵的c代码中使用LAPACK。更确切地说,我使用dgetrf_然后使用dgetri_来进行反演。
但是当我处理大矩阵并且我不知道矩阵是否可逆时,我会花费大量时间来反转不可逆矩阵......有没有办法,使用LAPACK来检查这个?
答案 0 :(得分:3)
关于dgetrf + dgetri在奇异矩阵上的失败,请参阅this link(尽管它已有几年了)。它还建议了一种检查所讨论矩阵的“可逆性”的方法:估计条件数(函数dgecon)。
dgecon
条件数可以提供帮助,因为它是矩阵本身的属性,因此与算法的准确性和/或PC的舍入误差无关。条件数越大,矩阵越接近奇点,因此您可以在条件数上设置(变量)上限。请参阅this page底部的表格,根据您正在使用的矩阵类型查看潜在的函数调用顺序。