[英]Trying to use math.net to calculate pseudoinverse of non square matrix
我正在尝试使用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
,我加入到C#项目的引用MathNetNumerics.dll
的文件夹中NET4.0发现
任何帮助将不胜感激。
根据此文档:
inverse(A) 如果 A 是方阵,否则为伪逆。
对我来说,如果给定一个不可逆(但方形)的矩阵,这看起来 Matrix.Inverse() 方法将失败。 这种行为可能是故意的。 有时,不可逆矩阵表示您想要警告的严重错误。 此外,如果您知道矩阵在平方时应该始终可逆,则 Inverse 可能比 PseudoInverse 稍快。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.