SGETRF 的 Lapack 错误
Lapack error with SGETRF
我正在使用 LAPACK library
来解决优化问题。我收到不同的 Lapack 错误 (Lapack error(1,2,3,4) with SGETRF)
。是否有任何文档来源,我可以阅读以了解这些错误的确切含义?
大多数 Lapack 例程 return 参数中的错误代码 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) is exactly zero. The factorization has been completed, but the factor U is exactly singular, and division by zero will occur if it is used
to solve a system of equations.
如果矩阵是奇异矩阵或病态矩阵,就会出现此问题。如果矩阵 A
是奇异矩阵,则问题 Ax=b
可能有不同的解,或者根本没有解。
如果INFO=1,很可能矩阵为空。
因此,测试 INFO
被认为是一种很好的做法,因为 sgetrf()
或 sgesv()
等函数被调用...
我正在使用 LAPACK library
来解决优化问题。我收到不同的 Lapack 错误 (Lapack error(1,2,3,4) with SGETRF)
。是否有任何文档来源,我可以阅读以了解这些错误的确切含义?
大多数 Lapack 例程 return 参数中的错误代码 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) is exactly zero. The factorization has been completed, but the factor U is exactly singular, and division by zero will occur if it is used to solve a system of equations.
如果矩阵是奇异矩阵或病态矩阵,就会出现此问题。如果矩阵 A
是奇异矩阵,则问题 Ax=b
可能有不同的解,或者根本没有解。
如果INFO=1,很可能矩阵为空。
因此,测试 INFO
被认为是一种很好的做法,因为 sgetrf()
或 sgesv()
等函数被调用...