F_SSBMV/F_DSBMV/F_CSBMV/F_ZSBMV | Symmetric band | |
Name | F_SSBMV/F_DSBMV/F_CSBMV/F_ZSBMV | |
| Symmetric band | |
Purpose | F_xSBMV multiplies a vector x by a real or complex symmetric band 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. |
|
|
| y ← αAx + βy with A=AT |
| 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 |
| REAL*4 | ALPHA, BETA, A( LDA, * ), X( * ), Y( * ) |
| SUBROUTINE F_SSBMV (UPLO, N, K, ALPHA, A, LDA, X, INCX, BETA, | |
| Y, INCY) |
|
| INTEGER*4 | INCX, INCY, K, LDA, N, UPLO |
| REAL*8 | ALPHA, BETA, A( LDA, * ), X( * ), Y( * ) |
| SUBROUTINE F_DSBMV (UPLO, N, K, ALPHA, A, LDA, X, INCX, BETA, | |
| Y, INCY) |
|
| INTEGER*4 | INCX, INCY, K, LDA, N, UPLO |
| COMPLEX*8 | ALPHA, BETA, A( LDA, * ), X( * ), Y( * ) |
| SUBROUTINE F_CSBMV (UPLO, N, K, ALPHA, A, LDA, X, INCX, BETA, | |
| Y, INCY) |
|
| INTEGER*4 | INCX, INCY, K, LDA, N, UPLO |
| COMPLEX*16 | ALPHA, BETA, A( LDA, * ), X( * ), Y( * ) |
| SUBROUTINE F_ZSBMV (UPLO, N, K, ALPHA, A, LDA, X, INCX, BETA, | |
| Y, INCY) |
|
VECLIB8
378HP MLIB User’s Guide