如何从 uint[] 数组创建密集矩阵

How to create a dense matrix from uint[,] array

我正在尝试从具有二维的 uint 数组在 MathDotNet 中创建 DenseMatrix。

uint[10,10] = myarray;
Matrix<ushort> newarray = Matrix<ushort>.Build.DenseOfArray(myarray);

Mathdotnet 抱怨此蜜蜂尚未实现。仅实现浮点型矩阵。我想做的是:

uint[10,10] = myarray;
Matrix<double> newarray = Matrix<double>.Build.DenseOfArray(myarray);

但这失败了,因为 myarray 的类型与 Matrix 不同。 有没有办法将我的 uint 数组隐式转换为 double 来解决这个问题?

感谢任何提示!

我认为转换在这种情况下不起作用,但有一种机制可以从任意可索引源构造矩阵:

Matrix<double> newarray = Matrix<double>.Build.Dense(
    myarray.GetLength(0), myarray.GetLength(1), (i,j) => myarray[i,j]);