我正在尝试使用math.net
库来计算矩阵的伪逆,但到目前为止,当我尝试使用以下代码时,我收到错误告诉我:
B = A.Inverse();
矩阵必须是方形的。但是这里
http://iridium.mathdotnet.com/api/mathnet.numerics.linearalgebra/matrix.htm#Inverse
据说逆方法计算伪逆。 这也在这里说:
https://mathnetnumerics.codeplex.com/discussions/251084
我使用的是错误版本的库吗?到目前为止,我一直在使用Math.Net.Numerics3.4.0
,我在文件夹Net4.0中找到了对MathNetNumerics.dll
的c#项目的引用
非常感谢任何帮助。
答案 0 :(得分:0)
根据此documentation:
inverse(A)如果A是正方形,否则为伪逆。
在我看来,如果给定不可逆(但为正方形)矩阵,则Matrix.Inverse()方法将失败。此行为可能是故意的。有时,不可逆矩阵表示您要警告的严重错误。另外,如果您知道矩阵在正方形时应始终是可逆的,则“逆”可能比PseudoInverse快一点。