C# 尝试用math.net计算非方矩阵的伪逆

C# 尝试用math.net计算非方矩阵的伪逆,c#,linear-algebra,numerical-methods,C#,Linear Algebra,Numerical Methods,我试图使用math.net库计算矩阵的伪逆,但到目前为止,我在尝试使用以下代码时收到一个错误提示: B = A.Inverse(); 矩阵必须是正方形。然而在这里 据说逆方法计算伪逆。 这里也有这样的说法: 我是否使用了错误版本的库?到目前为止,我一直在使用Math.Net.Numerics3.4.0,我在文件夹Net4.0中的MathNetNumerics.dll中添加了对c项目的引用 任何帮助都将不胜感激。根据以下内容: 逆A如果A是正方形,则为伪逆 在我看来,这就像是矩阵。如果给定

我试图使用math.net库计算矩阵的伪逆,但到目前为止,我在尝试使用以下代码时收到一个错误提示:

   B = A.Inverse();
矩阵必须是正方形。然而在这里

据说逆方法计算伪逆。 这里也有这样的说法:

我是否使用了错误版本的库?到目前为止,我一直在使用Math.Net.Numerics3.4.0,我在文件夹Net4.0中的MathNetNumerics.dll中添加了对c项目的引用

任何帮助都将不胜感激。

根据以下内容:

逆A如果A是正方形,则为伪逆


在我看来,这就像是矩阵。如果给定一个不可逆但平方的矩阵,逆方法将失败。这种行为可能是故意的。有时,一个不可逆的矩阵表示一个严重的错误,您需要得到警告。此外,如果您知道矩阵在平方时总是可逆的,则逆可能比伪逆稍快。

Math.Net.Numerics.LinearAlgebra.Double.DenseMatrix在使用上述建议时不包含“恒等式”的定义。如果您展示了,等等,因为确切的类型可能会产生重大影响。您需要将DenseMatrix.Identity替换为DenseMatrix.CreateIdentity,这说明Huysentruit是正确的,但DenseMatrix.Identity必须替换为DenseMatrix.CreateIdentity