如何在MathNet库中将矩阵乘以矢量?

时间:2019-08-10 12:03:53

标签: c#

我正在一个需要使用线性代数方法的项目中。我决定使用MathNet Numerics库,并想将矩阵乘以向量。我在MathNet中找不到可以执行此操作的函数。如何将矩阵乘以矢量?

1 个答案:

答案 0 :(得分:0)

一种这样的

Matrix<double> M = Matrix<double>.Build.DenseOfArray(new double[,]
{
    { 1, 2 },
    { 3, 6 }
});

Vector<double> V = Vector<double>.Build.DenseOfArray(new double[] { 3, 4 });

Vector<double> MV = M * V;
Vector<double> VM = V * M;

Console.WriteLine($"M {M}");
Console.WriteLine($"V {V}");
Console.WriteLine($"M*V {MV}");
Console.WriteLine($"V*M {VM}");

它给出:

M DenseMatrix 2x2-Double
1  2
3  6

V DenseVector 2-Double
3
4

M*V DenseVector 2-Double
11
33

V*M DenseVector 2-Double
15
30

但是请确保它们具有相同的高度,否则您会得到

  

System.ArgumentException:矩阵尺寸必须一致...