?axpyc
先对x向量进行共轭处理,再将缩放后的乘积与另一向量的加和。
即
。alpha是乘法系数,x和y是长度为n的向量。
接口定义
C interface:
void cblas_caxpyc(const BLASINT n, const void *alpha, const void *x, const BLASINT incx, void *y, const BLASINT incy);
void cblas_zaxpyc(const BLASINT n, const void *alpha, const void *x, const BLASINT incx, void *y, const BLASINT incy);
Fortran interface:
CALL CAXPYC(N, ALPHA, X, INCX, Y, INCY)
CALL ZAXPYC(N, ALPHA, X, INCX, Y, INCY)
参数
参数名 |
类型 |
描述 |
输入/输出 |
|---|---|---|---|
n |
整型数 |
表示x向量的元素个数。 |
输入 |
alpha |
|
表示乘法系数。 |
输入 |
x |
|
向量x,向量规模至少是(1+(n-1)*abs(incx))。 |
输入 |
incx |
整型数 |
表示x向量增长步长。 |
输入 |
y |
|
向量y,向量规模至少是(1+(n-1)*abs(incy))。 |
输入/输出 |
incy |
整型数 |
表示y向量增长步长。 |
输入 |
依赖
#include "kblas.h"
示例
C interface:
float alpha[2] = {0.25, 0.5};
int n = 2, incx = 1, incy = 1;
float x[4] = {1.0, 3.0, 5.0, 7.0};
float y[4] = {2.0, 4.0, 6.0, 8.0};
cblas_caxpyc(n, alpha, x, incx, y, incy);
/**
* Output Y: 3.75, 3.75, 10.75, 8.75
*/
Fortran interface:
REAL(4) :: ALPHA(2)
DATA ALPHA /0.25, 0.5
INTEGER :: N=5
INTEGER :: INCX=1
INTEGER :: INCY=1
REAL(4) :: X(4)
DATA X /1.0, 3.0, 5.0, 7.0/
REAL(4) :: Y(4)
DATA Y /2.0, 4.0, 6.0, 8.0/
CALL CAXPYC(N, ALPHA, X, INCX, Y, INCY)
* Output Y : 3.75, 3.75, 10.75, 8.75