我需要计算密集矩阵的奇异值分解,但它似乎没有包含在我正在使用的包中:MathNet.Numerics x86 v2.4.0.26
从 Nuget 包管理器下载。
我正在引用这个问题Svd recomposition..
链接的答案中包含的语法是:
var m = DenseMatrix.OfArray(new double[,] {
{ 3, 0, 0, 0, 0 },
{ 0, 2, 4, 0, 0 },
{ 0, 4, 5, -4, 5 },
{ 0, 0, -4, -8, 12},
{ 0, 0, 5, 12, -5 }});
var svd = m.Svd(true); //The method Svd() doesn't seem to be available in v2.4
svd.U() * svd.W() * svd.VT()
我正在寻找一个使用 MathNet.Numerics x86 库生成 DenseMatrix SVD 的简单示例。
不幸的是,该方法inverse()
只是返回 NaN,所以我希望使用奇异值分解来近似逆。