在给定二维数组的情况下在 MathDotNet 中创建矩阵

Creating a Matrix in MathDotNet given a 2D array

我从 this site as a download from here 获得了以下代码。压缩文件解压后的完整路径类似于 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

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

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

从矩阵到double[,]:

var array = matrix.ToArray();

请注意,这些涉及完整副本,因为矩阵在内部不使用二维数组。 documentation.

中有更多关于此的示例