F_CHBMV/F_ZHBMVHermitian banded
Name | F_CHBMV/F_ZHBMV |
| Hermitian banded |
Purpose | F_xHBMV multiplies a vector x by a Hermitian banded matrix A, scales the |
| resulting vector and adds it to the scaled vector operand y. If n is less than or |
| equal to zero, or if β is equal to one and α is equal to zero, this routine returns |
| immediately. The imaginary part of the diagonal entries of the matrix operand |
| are supposed to be zero and should not be referenced. |
| y ← αAx + βy with A=A∗ |
| Refer to “SSBMV/DSBMV/CHBMV/ZHBMV” on page 244 for a description of |
| the equivalent HP MLIB legacy BLAS subprograms. |
Matrix | Because it is not necessary to store or operate on the zeros outside the band of |
Storage | A, and because either triangle of A can be obtained from the other, you only |
| need to provide the band within one triangle of A. Compared to storing the |
| entire matrix, this can save memory in two ways: only the elements within the |
| band are stored and of them only the upper or the lower triangle. Refer to |
| “SSBMV/DSBMV/CHBMV/ZHBMV” on page 244 for an example of the storage |
| of symmetric band matrices. |
Usage | VECLIB |
INTEGER*4 | INCX, INCY, K, LDA, N, UPLO |
COMPLEX*8 | ALPHA, BETA |
COMPLEX*8 | A( LDA, * ), X( * ), Y( * ) |
SUBROUTINE F_CHBMV (UPLO, N, K, ALPHA, A, LDA, X, INCX, BETA, | |
Y, INCY) |
|
INTEGER*4 | 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)
VECLIB8
INTEGER*8 | INCX, INCY, K, LDA, N, UPLO |
COMPLEX*8 | ALPHA, BETA |
COMPLEX*8 | A( LDA, * ), X( * ), Y( * ) |
SUBROUTINE F_CHBMV (UPLO, N, K, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
340HP MLIB User’s Guide