?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