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

问题描述 投票:3回答:4

在BLAS 1级中,有* ASUM和* NRM2计算向量的L1和L2范数,但是如何计算向量的(带符号)和?必须要有更好的东西,而不是填充另一个向量并做* DOT ...

vector sum blas
4个回答
3
投票

BLAS不提供像您所寻求的水平求和操作,因为它不是线性代数库经常需要的操作。

许多DSP库确实提供了这种操作;例如,在OS X和iOS上,您将使用Accelerate框架提供的vDSP_sve( )函数。遗憾的是,可用的DSP库在平台之间往往差异很大,因此我们需要了解更多关于您所针对的平台的信息。


1
投票

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


1
投票

你可以做一个点积,其中第二个向量的增量为零。使用C就像这样:

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

ddot_(&n, x, &ix, &y, &iy);

0
投票

正如http://www.netlib.org/blas/blasqr.pdf所见,xAXPY支持向量求和。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.