给定2D阵列在MathDotNet中创建矩阵

时间:2016-07-13 13:16:57

标签: mathdotnet

我从this网站下载了here以下代码。解压缩zip文件后的完整路径就像E:\ Csharp2Dand3DTestbed \ GraphicsBook \ LA \ LA \ MatrixTransform2.cs

protected static double[,] MatrixInverse(double[,] mat)
{
    Matrix m = new Matrix(mat);
    Matrix k = m.Inverse();
    return k;
}

但那不编译。我从here看到我需要做类似

的事情
protected static double[,] MatrixInverse(double[,] mat)
{
    Matrix<double> m = Matrix<double>.Build.WhatHere(???)(3, 4); // How with existing matrix
    Matrix k = m.Inverse();
    return k;
}

有人可以指导我。我无法走得更远。我使用的是最新版本的Math.NET Numerics

1 个答案:

答案 0 :(得分:2)

double[,]到矩阵(两个选项):

var matrix = Matrix<double>.Build.DenseOfArray(array);
var matrix = CreateMatrix.DenseOfArray(array);

从矩阵到double[,]

var array = matrix.ToArray();

请注意,这些涉及完整副本,因为矩阵内部不使用2D数组。 documentation中有更多示例。