我正试图使用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#项目的引用
任何帮助都将不胜感激。
根据本文档:
逆(A)如果A是正方形,则为伪逆。
在我看来,如果给定一个不可逆(但为正方形)矩阵,则Matrix.Invrse()方法将失败。这种行为可能是故意的。有时,不可逆矩阵表示一个严重的错误,需要提醒您注意。此外,如果你知道矩阵在平方时应该总是可逆的,那么逆可能比伪逆稍快。