所以我想转置我用
定义的矩阵using MathNet.Numerics.LinearAlgebra.Double;
var MatrixValues = new double[]{1,1,2,2,3,3}
var M = Matrix<double>.Build;
var C = M.Dense(3,2,MatrixValues);
var TR = C.Transpose();
所以我得到的结果是一个非常奇怪的矩阵,它不是转置。我认为这是因为矩阵定义为DenseColumnMajor,但我该如何更改呢?
所以我有一个3乘2的矩阵,如:
1 1
2 2
3 3
我想要的结果是:
1 2 3
1 2 3
答案 0 :(得分:1)
转置正常工作:
C:
DenseMatrix 3x2-Double
1 2
1 3
2 3
TR:
DenseMatrix 2x3-Double
1 1 2
2 3 3
如文档所述,特定构建器期望数组按列主要顺序排列。有很多方法可以创建矩阵。如果你不能按列主顺序重新排列数组,也许另一种方式对你来说效果更好。请参阅Creating Matrices and Vectors。