Vector
 
在 MathNet.Numerics 中,Vector<T> 是表示向量的类。Vector<T> 可以是列向量或行向量,具体取决于你如何创建它以及如何使用它。以下是一些创建和使用 Vector<T> 的常见方法:
使用 Build.Dense 创建列向量:
 
var vector = Vector<double>.Build.Dense(new double[] {1, 2, 3});
使用 Build.DenseOfRowArray 创建行向量(注意:在 MathNet.Numerics 中,通常使用 Build.Dense 创建行向量,因为默认情况下,向量被视为列向量):
var rowVector = Vector.Build.Dense(new double[] {1, 2, 3}, false);
 使用 OfArray 方法(在 MathNet.Numerics 中,OfArray 是 Build.Dense 的别名):
var vectorFromArray = Vector.OfArray(new double[] {1, 2, 3});
 使用 PointwiseMultiply 进行向量元素级乘法:
var vector1 = Vector.Build.Dense(new double[] {1, 2, 3});
 var vector2 = Vector.Build.Dense(new double[] {4, 5, 6});
 var product = vector1.PointwiseMultiply(vector2);
 计算向量的点积(内积):
var dotProduct = Vector.DotProduct(vector1, vector2);
 获取向量的转置(对于列向量,转置将返回行向量,反之亦然):
var transposedVector = vector.Transpose();
 访问向量的特定元素:
double firstElement = vector[0];
 设置向量的特定元素:
vector[0] = 10;
 遍历向量中的所有元素:
foreach (var element in vector)
 {
 Console.WriteLine(element);
 }
 输出向量:
Console.WriteLine(vector);
 请注意,MathNet.Numerics 中的 Vector 默认是列向量。如果你需要行向量,可以通过设置第二个参数为 false 来使用 Build.Dense 方法创建。在大多数情况下,行向量和列向量之间的差异仅在于你如何使用它们,特别是在矩阵乘法或其他线性代数运算中。