中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

?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

  • 在daxpby中是双精度浮点类型。
  • 在saxpby中是单精度浮点类型。
  • 在caxpby中是单精度复数类型。
  • 在zaxpby中是双精度复数类型。

表示乘法系数。

输入

x

  • 在daxpby中,x是双精度浮点类型。
  • 在saxpby中,x是单精度浮点类型。
  • 在caxpby中,x是单精度复数类型。
  • 在zaxpby中,x是双精度复数类型。

向量x,向量规模至少是(1+(n-1)*abs(incx))。

输入

incx

整型数

表示x向量增长步长。

输入

beta

  • 在daxpby中是双精度浮点类型。
  • 在saxpby中是单精度浮点类型。
  • 在caxpby中是单精度复数类型。
  • 在zaxpby中是双精度复数类型。

表示乘法系数。

输入

y

  • 在daxpby中,y是双精度浮点类型。
  • 在saxpby中,y是单精度浮点类型。
  • 在caxpby中,y是单精度复数类型。
  • 在zaxpby中,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