---
title: ?axpy
description: "向量缩放后的乘积与另一向量的加和。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC2/accel/kunpengaccel_kml_16_0017.html
sourcePath: /source/zh/kunpengboostkithistory/240RC2/accel/kunpengaccel_kml_16_0017.html
indexId: 79027b1d54277dd5379156b70019eaf4226d795c2124c99f24815440fc5f20b876
---
# ?axpy

向量缩放后的乘积与另一向量的加和。

即。alpha是乘法系数，x和y是长度为n的向量。

#### 接口定义

C interface：

void cblas_saxpy(const BLASINT n, const float alpha, const float *x, const BLASINT incx, float *y, const BLASINT incy);

void cblas_daxpy(const BLASINT n, const double alpha, const double *x, const BLASINT incx, double *y, const BLASINT incy);

void cblas_caxpy(const BLASINT n, const void *alpha, const void *x, const BLASINT incx, void *y, const BLASINT incy);

void cblas_zaxpy(const BLASINT n, const void *alpha, const void *x, const BLASINT incx, void *y, const BLASINT incy);

Fortran interface：

CALL SAXPY(N, ALPHA, X, INCX, Y, INCY)

CALL DAXPY(N, ALPHA, X, INCX, Y, INCY)

CALL CAXPY(N, ALPHA, X, INCX, Y, INCY)

CALL ZAXPY(N, ALPHA, X, INCX, Y, INCY)


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| n | 整型数 | 表示x向量的元素个数。 | 输入 |
| alpha | 在daxpy中是双精度浮点类型。 在saxpy中是单精度浮点类型。 在caxpy中是单精度复数类型。 在zaxpy中是双精度复数类型。 | 表示乘法系数。 | 输入 |
| x | 在daxpy中是双精度浮点类。 在saxpy中是单精度浮点类型。 在caxpy中是单精度复数类型。 在zaxpy中是双精度复数类型。 | 向量x，向量规模至少是(1+(n\-1)\*abs(incx))。 | 输入 |
| incx | 整型数 | 表示x向量增长步长。 | 输入 |
| y | 在daxpy中是双精度浮点类型。 在saxpy中是单精度浮点类型。 在caxpy中是单精度复数类型。 在zaxpy中是双精度复数类型。 | 向量y，向量规模至少是(1+(n\-1)\*abs(incy))。 | 输入/输出 |
| incy | 整型数 | 表示y向量增长步长。 | 输入 |


#### 依赖

#include "kblas.h"


#### 示例

C interface：

```
float alpha = 2.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_saxpy(n, alpha, x, incx, y, incy);
/**
*    Output Y: 0.377927, -0.376011, 0.834428, 0.374655, 0.877264
*/
```

Fortran interface：

```
REAL(4) :: ALPHA=2.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 SAXPY(N, ALPHA, X, INCX, Y, INCY)
*     Output Y : 0.377927, -0.376011, 0.834428, 0.374655, 0.877264
```
