C# 如何在MathNet库中将矩阵与向量相乘?

C# 如何在MathNet库中将矩阵与向量相乘?,c#,C#,我正在做一个项目,需要在其中使用线性代数方法。我决定使用MathNet Numerics库,我想用一个向量乘以一个矩阵。我在MathNet中找不到可以这样做的函数。如何将矩阵乘以向量?一种: Matrix<double> M = Matrix<double>.Build.DenseOfArray(new double[,] { { 1, 2 }, { 3, 6 } }); Vector<double> V = Vector<double

我正在做一个项目,需要在其中使用线性代数方法。我决定使用
MathNet Numerics
库,我想用一个向量乘以一个矩阵。我在
MathNet
中找不到可以这样做的函数。如何将矩阵乘以向量?

一种:

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}");
但要确保它们的高度相同,否则你会

System.ArgumentException:矩阵维度必须符合

一种是这样的:

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}");
但要确保它们的高度相同,否则你会

System.ArgumentException:矩阵维度必须符合


你不能。如果大小正确,你可以做矩阵和向量的叉积。你不能。如果大小正确,可以对矩阵和向量进行叉积。