.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
的两个向量A
和B
定义为A1 * B1 + A2 * B2 + ... + An * Bn
所以一个向量 A
和另一个全 1 向量的点积就是向量 A
.
中各项的总和
我想不出如何获取 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
的两个向量A
和B
定义为A1 * B1 + A2 * B2 + ... + An * Bn
所以一个向量 A
和另一个全 1 向量的点积就是向量 A
.