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

?gerc

一般复数矩阵秩1更新。

即:。alpha是乘法系数,A是m*n的一般矩阵,x是含有m个元素的向量,y是含有n个元素的向量。

接口定义

C interface:

void cblas_cgerc(const enum CBLAS_ORDER order, const BLASINT M, const BLASINT N, const void *alpha, const void *X, const BLASINT incX, const void *Y, const BLASINT incY, void *A, const BLASINT lda);

void cblas_zgerc(const enum CBLAS_ORDER order, const BLASINT M, const BLASINT N, const void *alpha, const void *X, const BLASINT incX, const void *Y, const BLASINT incY, void *A, const BLASINT lda);

Fortran interface:

CALL CGERC(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)

CALL ZGERC(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)

参数

参数名

类型

描述

输入/输出

order

枚举类型CBLAS_ORDER

表示矩阵是行主序或列主序。

输入

M

整型数

矩阵A的行数。

输入

N

整型数

矩阵A的列数。

输入

alpha

  • 在cgerc中是单精度复数类型。
  • 在zgerc中是双精度复数类型。

乘法系数。

输入

X

  • 在cgerc中是单精度复数类型。
  • 在zgerc中是双精度复数类型。

矩阵X,向量规模至少1+(m-1)*abs(incX)。

输入

incX

整型数

向量X的增长步长,不能为零。

输入

Y

  • 在cgerc中是单精度复数类型。
  • 在zgerc中是双精度复数类型。

矩阵Y,向量规模至少1+(n-1)*abs(incY)。

输入

incY

整型数

向量Y的增长步长,不能为零。

输入

A

  • 在cgerc中是单精度复数类型。
  • 在zgerc中是双精度复数类型。

矩阵A(lda, n)。

输出

lda

整型数

矩阵A中主维度长度,如果矩阵A为列存,要求lda大于或等于max(1, m),否则要求大于或等于max(1,n)。

输入

依赖

#include "kblas.h"

示例

C interface:

    int m = 2, n = 2, lda = 2; 
    float alpha[2] = {1.0, 2.0}; 
    int incx = 1, incy = 1; 
    float x[4] = {1.0, 2.0, 3.0, 4.0}; 
    float y[4] = {2.0, 3.0, 4.0, 2.0}; 
    float a[8] = {-1.0, 2.0, 2.0, 2.0, 3.0, 4.0, 5.0, 6.0}; 
 
    cblas_cgerc(CblasColMajor, m, n, alpha, x, incx, y, incy, a, lda); 
    /** 
     *  Output A: 
     *            (5.000000, 19.000000), (-1.000000, 26.000000) 
     *            (22.000000, 37.000000), (5.000000, 56.000000) 
     */

Fortran interface:

      INTEGER :: M=2 
      INTEGER :: N=2 
      INTEGER :: LDA=2 
      INTEGER :: INCX=1 
      INTEGER :: INCY=1 
      COMPLEX(4) :: ALPHA=(1.0, 2.0) 
      COMPLEX(4) :: A(2, 2) 
      DATA A/(-1.0, 2.0), (2.0, 2.0), 
     $       (3.0, 4.0), (5.0, 6.0)/ 
      COMPLEX(4) :: X(2) 
      DATA X/(1.0, 2.0), (3.0, 4.0)/ 
      COMPLEX(4) :: Y(2) 
      DATA Y/(2.0, 3.0), (4.0, 2.0)/ 
      EXTERNAL CGERC 
      CALL CGERC(M, N, ALPHA, X, INCX, Y, INCY, A, LDA) 
 
*     Output A: 
*             (5.000000, 19.000000), (-1.000000, 26.000000) 
*             (22.000000, 37.000000), (5.000000, 56.000000)