我无法弄清楚如何在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 ???
}
如果它真的可能吗?我怎么能这样做?
答案 0 :(得分:4)
假设你确实想要一个Vector
可以包含(在今天的硬件中)2或4个双打,这将是它们的总和。
double vectorSum = Vector.Dot(yourDoubleVector, Vector<double>.One);
Dot
方法计算两个向量的点积,为两个向量A
和B
定义n
为A1 * B1 + A2 * B2 + ... + An * Bn
< / p>
因此,向量A
和所有1的另一个向量的点积将只是向量A
中项目的总和。