?axpby
向量缩放后的乘积与另一向量缩放后的乘积的加和。
即。alpha,beta是乘法系数,x和y是长度为n的向量。
接口定义
C interface:
void cblas_saxpby(const BLASINT n, const float alpha, const float *x, const BLASINT incx, const float beta, float *y, const BLASINT incy);
void cblas_daxpby(const BLASINT n, const double alpha, const double *x, const BLASINT incx, const double beta, double *y, const BLASINT incy);
void cblas_caxpby(const BLASINT n, const void *alpha, const void *x, const BLASINT incx, const void *beta, void *y, const BLASINT incy);
void cblas_zaxpby(const BLASINT n, const void *alpha, const void *x, const BLASINT incx, const void *beta, void *y, const BLASINT incy);
Fortran interface:
CALL SAXPBY(N, ALPHA, X, INCX, BETA, Y, INCY)
CALL DAXPBY(N, ALPHA, X, INCX, BETA, Y, INCY)
CALL CAXPBY(N, ALPHA, X, INCX, BETA, Y, INCY)
CALL ZAXPBY(N, ALPHA, X, INCX, BETA, Y, INCY)
参数
参数名 |
类型 |
描述 |
输入/输出 |
---|---|---|---|
n |
整型数 |
表示x向量的元素个数。 |
输入 |
alpha |
|
表示乘法系数。 |
输入 |
x |
|
向量x,向量规模至少是(1+(n-1)*abs(incx))。 |
输入 |
incx |
整型数 |
表示x向量增长步长。 |
输入 |
beta |
|
表示乘法系数。 |
输入 |
y |
|
向量y,向量规模至少是(1+(n-1)*abs(incy))。 |
输入/输出 |
incy |
整型数 |
表示y向量增长步长。 |
输入 |
依赖
#include "kblas.h"
示例
C interface:
float alpha = 2.0; float beta = 3.0; int n = 5, incx = 1, incy = 1; /** * X:f 0.340188, -0.105617, 0.283099, 0.298440, 0.411647 * Y: -0.302449, -0.164777, 0.268230, -0.222225, 0.053970 */ float x[5] = {0.340188, -0.105617, 0.283099, 0.298440, 0.411647}; float y[5] = {-0.302449, -0.164777, 0.268230, -0.222225, 0.053970}; cblas_saxpby(n, alpha, x, incx, beta, y, incy); /** * Output Y: -0.226971, -0.705565, 1.370888, -0.069795, 0.985204 */
Fortran interface:
REAL(4) :: ALPHA=2.0 REAL(4) :: BETA=3.0 INTEGER :: N=5 INTEGER :: INCX=1 INTEGER :: INCY=1 REAL(4) :: X(5) DATA X /0.340188, -0.105617, 0.283099, 0.298440, 0.411647/ REAL(4) :: Y(5) DATA Y /-0.302449, -0.164777, 0.268230, -0.222225, 0.053970/ CALL SAXPBY(N, ALPHA, X, INCX, BETA, Y, INCY) * Output Y : -0.226971, -0.705565, 1.370888, -0.069795, 0.985204