Hermitian banded matrix-vector multiply

F_CHBMV/F_ZHBMV

 

INTEGER*8

INCX, INCY, K, LDA, N, UPLO

 

COMPLEX*16

ALPHA, BETA

 

COMPLEX*16

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

 

SUBROUTINE F_ZHBMV (UPLO, N, K, ALPHA, A, LDA, X, INCX, BETA,

 

Y, INCY)

 

Input

UPLO

Specifies whether a triangular matrix is upper or lower

 

 

triangular. Use either BLAS_UPPER or BLAS_LOWER.

 

N

Number of columns in matrix A, n > 0. If n 0 , the

 

 

subprograms do not reference A, X, or Y.

 

K

The number of non zero diagonals above or below the

 

 

principal diagonal.

 

ALPHA

The scalar ALPHA.

 

A

COMPLEX array, dimension (LDA, N).

 

LDA

Leading dimension of array A. If lda < 1 or lda < k+1,

 

 

an error condition is generated

 

X

COMPLEX array, minimum length (N - 1) x incx + 1.

 

INCX

Increment for the array x. A vector x having component

 

 

xi, i = 1,..., n, is stored in an array X() with increment

 

 

argument incx. If incx > 0 then xi is stored in

 

 

X (1 + (i - 1) x incx). If incx < 0 then xiis stored in

 

 

X (1 + (N - i) x incx). incx = 0 is an illegal value.

 

BETA

The scalar BETA.

 

Y

COMPLEX array, minimum length (N - 1) x incy + 1.

 

INCY

Increment for the array y. A vector y having component

 

 

yi, i = 1,..., n, is stored in an array Y() with increment

 

 

argument incy. If incy > 0 then yiis stored in

 

 

Y(1 + (i - 1) x incy). If incy < 0 then yi is stored in

 

 

Y(1 + (N - i) x incy). incy = 0 is an illegal value.

Output

Y

The updated Y vector replaces the input.

 

 

y ← αAx + βy with A=A

Chapter 3 Basic Matrix Operations 341