SGETRF的Lapack错误

时间:2015-08-16 16:50:36

标签: lapack

我正在使用LAPACK library来解决优化问题。我得到了不同的Lapack错误(Lapack error(1,2,3,4) with SGETRF)。是否有任何文档源,我可以阅读以了解这些错误究竟是什么意思?

1 个答案:

答案 0 :(得分:1)

大多数Lapack例程在参数INFO中返回错误代码。此输出的含义在函数sgetrf()

的文档中指定

如果INFO为空,那么就可以了! 如果INFO <0,则在输入参数中检测到错误。例如,对于sgetrf()

  • INFO = -1:矩阵的行数为负
  • INFO = -2:矩阵的列数为负
  • INFO = -4:LDA低于MAX(1,M)

可以应用例程xerbla()来打印正确的错误消息:

XERBLA( 'SGETRF', -INFO )

如果INFO> 0,该文件清楚地描述了正在发生的事情:

  

U(i,i)正好为零。分解已经完成,但因子U恰好是单数,如果使用则会出现除零   解决方程组。

如果矩阵是单数或不合理的,则会出现此问题。如果矩阵A是单数的,则可能存在不同的解决方案,或根本没有解决问题Ax=b的解决方案。 如果INFO = 1,则矩阵很可能为空。

因此,测试INFO应被视为一种良好做法,因为sgetrf()sgesv()等函数被称为...