我使用LAPACK library来解决一个优化问题。我得到了不同的Lapack错误(Lapack error(1,2,3,4) with SGETRF)。是否有任何文档来源,我可以阅读来理解这些错误到底意味着什么?
发布于 2016-04-02 17:06:20
大多数Lapack例程返回参数INFO中的错误代码。此输出的含义在函数sgetrf()的文档中指定。
如果信息为空,那么一切都是可以的!如果INFO <0,则在输入参数中检测到错误。例如,对于sgetrf()
例程xerbla()可用于打印正确的错误消息:
XERBLA( 'SGETRF', -INFO )如果是INFO>0,文档清楚地描述了正在发生的事情:
U(i,i)正好是零。因式分解已经完成,但是因子U是完全奇异的,如果用它来解方程组,就会发生零除法。
如果矩阵是奇异的或条件不良的,那么这个问题就会发生。如果矩阵A是奇异的,则可能有不同的解决方案,或者根本没有问题Ax=b的解决方案。如果是INFO=1,则矩阵很可能为空。
因此,测试INFO被认为是一种很好的实践,因为像sgetrf()或sgesv()这样的函数被称为.
https://stackoverflow.com/questions/32037603
复制相似问题