General matrix-vector multiplyF_SGEMV/F_DGEMV/F_CGEMV/F_ZGEMV

Name

F_SGEMV/F_DGEMV/F_CGEMV/F_ZGEMV

 

General matrix-vector multiply

Purpose

F_xGEMV multiplies a vector x by a general matrix A, its transpose, or its

 

conjugate transpose, scales the resulting vector, and adds it to the scaled vector

 

operand y. If m or n is less than or equal to zero, or if β is equal to one and α is

 

equal to zero, the routine returns immediately. If lda is less than one, or less

 

than m, an error flag is set and passed to the error handler.The matrix-vector

 

multiply can be defined as one of the following:

 

y ← αAx + βy

 

y ← α AT x + βy

 

y ← α Ax + βy

 

Refer to “SGEMV/DGEMV/CGEMV/ZGEMV” on page 232 for a description of

 

the equivalent HP MLIB legacy BLAS subprograms.

Usage

VECLIB

 

 

INTEGER*4

INCX, INCY, LDA, M, N, TRANS

 

REAL*4

ALPHA, BETA

 

REAL*4

A( LDA, * ), X( * ), Y( * )

 

SUBROUTINE F_SGEMV (TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA,

 

Y, INCY)

 

 

INTEGER*4

INCX, INCY, LDA, M, N, TRANS

 

REAL*8

ALPHA, BETA

 

REAL*8

A( LDA, * ), X( * ), Y( * )

 

SUBROUTINE F_DGEMV (TRANS, M, N, ALPHA, A, LDA, X, INCX,

 

BETA, Y, INCY)

 

 

INTEGER*4

INCX, INCY, LDA, M, N, TRANS

 

COMPLEX*8

ALPHA, BETA

 

COMPLEX*8

A( LDA, * ), X( * ), Y( * )

 

SUBROUTINE F_CGEMV (TRANS, M, N, ALPHA, A, LDA, X, INCX,

 

BETA, Y, INCY)

 

 

INTEGER*4

INCX, INCY, LDA, M, N, TRANS

 

COMPLEX*16

ALPHA, BETA

 

COMPLEX*16

A( LDA, * ), X( * ), Y( * )

 

SUBROUTINE F_ZGEMV (TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA,

 

Y, INCY)

 

VECLIB8

Chapter 3 Basic Matrix Operations 365