Vector 如何使用BLAS计算一维数组的和?

Vector 如何使用BLAS计算一维数组的和?,vector,sum,blas,Vector,Sum,Blas,在BLAS级别1中,有*ASUM和*NRM2计算向量的L1和L2范数,但如何计算向量的(有符号)和?肯定有比填充另一个向量和一个*点更好的方法…BLAS不能像你所寻求的那样提供水平和运算,因为它不是线性代数库经常需要的运算 许多DSP库都提供这种操作;例如,在OSX和iOS上,您可以使用加速框架提供的vDSP_sve()函数。不幸的是,可用的DSP库往往因平台而异,因此我们需要更多地了解您的目标平台。一种方法是使用带有1矢量的点积,更具体地说是使用cblas_caxpy函数。您可以在第二个矢量增

在BLAS级别1中,有*ASUM和*NRM2计算向量的L1和L2范数,但如何计算向量的(有符号)和?肯定有比填充另一个向量和一个*点更好的方法…

BLAS不能像你所寻求的那样提供水平和运算,因为它不是线性代数库经常需要的运算


许多DSP库都提供这种操作;例如,在OSX和iOS上,您可以使用加速框架提供的
vDSP_sve()
函数。不幸的是,可用的DSP库往往因平台而异,因此我们需要更多地了解您的目标平台。

一种方法是使用带有1矢量的点积,更具体地说是使用cblas_caxpy函数。

您可以在第二个矢量增量为零的情况下进行点积。使用C时,情况如下:

int n;
int ix = 1;
int iy = 0;
double y = 1.0;

ddot_(&n, x, &ix, &y, &iy);
如中所示,
xAXPY
支持向量求和


我相信
xAPY
用于计算两个向量的向量和。最初的问题是对单个向量中的条目求和。axpy计算两个向量之间的元素求和。问题是关于水平和,或单个向量分量的减少。