.NET 4.6 中 System.Numerics.Vector<T> 中的元素总和

Sum of elements in System.Numerics.Vector<T> in .NET 4.6

我想不出如何获取 System.Numerics.Vector 类型向量中元素总和的方法。

double sum(System.Numerics.Vector<double> vect)
{
     // Something like 
     // double sum = 0;
     // foreach e in vect { sum += e; } 
     // return sum;

     // Vector.method???
     // For loop ???
}

如果真的可以呢?我该怎么做?

假设您确实打算有一个 Vector 可以包含(在今天的硬件中)2 或 4 个双打,这将对它们求和。

double vectorSum = Vector.Dot(yourDoubleVector, Vector<double>.One);

Dot方法计算两个向量的点积,对于大小n的两个向量AB定义为A1 * B1 + A2 * B2 + ... + An * Bn

所以一个向量 A 和另一个全 1 向量的点积就是向量 A.

中各项的总和