LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
|
subroutine dsbmv | ( | character | uplo, |
integer | n, | ||
integer | k, | ||
double precision | alpha, | ||
double precision, dimension(lda,*) | a, | ||
integer | lda, | ||
double precision, dimension(*) | x, | ||
integer | incx, | ||
double precision | beta, | ||
double precision, dimension(*) | y, | ||
integer | incy ) |
DSBMV
!> !> DSBMV performs the matrix-vector operation !> !> y := alpha*A*x + beta*y, !> !> where alpha and beta are scalars, x and y are n element vectors and !> A is an n by n symmetric band matrix, with k super-diagonals. !>
[in] | UPLO | !> UPLO is CHARACTER*1 !> On entry, UPLO specifies whether the upper or lower !> triangular part of the band matrix A is being supplied as !> follows: !> !> UPLO = 'U' or 'u' The upper triangular part of A is !> being supplied. !> !> UPLO = 'L' or 'l' The lower triangular part of A is !> being supplied. !> |
[in] | N | !> N is INTEGER !> On entry, N specifies the order of the matrix A. !> N must be at least zero. !> |
[in] | K | !> K is INTEGER !> On entry, K specifies the number of super-diagonals of the !> matrix A. K must satisfy 0 .le. K. !> |
[in] | ALPHA | !> ALPHA is DOUBLE PRECISION. !> On entry, ALPHA specifies the scalar alpha. !> |
[in] | A | !> A is DOUBLE PRECISION array, dimension ( LDA, N ) !> Before entry with UPLO = 'U' or 'u', the leading ( k + 1 ) !> by n part of the array A must contain the upper triangular !> band part of the symmetric matrix, supplied column by !> column, with the leading diagonal of the matrix in row !> ( k + 1 ) of the array, the first super-diagonal starting at !> position 2 in row k, and so on. The top left k by k triangle !> of the array A is not referenced. !> The following program segment will transfer the upper !> triangular part of a symmetric band matrix from conventional !> full matrix storage to band storage: !> !> DO 20, J = 1, N !> M = K + 1 - J !> DO 10, I = MAX( 1, J - K ), J !> A( M + I, J ) = matrix( I, J ) !> 10 CONTINUE !> 20 CONTINUE !> !> Before entry with UPLO = 'L' or 'l', the leading ( k + 1 ) !> by n part of the array A must contain the lower triangular !> band part of the symmetric matrix, supplied column by !> column, with the leading diagonal of the matrix in row 1 of !> the array, the first sub-diagonal starting at position 1 in !> row 2, and so on. The bottom right k by k triangle of the !> array A is not referenced. !> The following program segment will transfer the lower !> triangular part of a symmetric band matrix from conventional !> full matrix storage to band storage: !> !> DO 20, J = 1, N !> M = 1 - J !> DO 10, I = J, MIN( N, J + K ) !> A( M + I, J ) = matrix( I, J ) !> 10 CONTINUE !> 20 CONTINUE !> |
[in] | LDA | !> LDA is INTEGER !> On entry, LDA specifies the first dimension of A as declared !> in the calling (sub) program. LDA must be at least !> ( k + 1 ). !> |
[in] | X | !> X is DOUBLE PRECISION array, dimension at least !> ( 1 + ( n - 1 )*abs( INCX ) ). !> Before entry, the incremented array X must contain the !> vector x. !> |
[in] | INCX | !> INCX is INTEGER !> On entry, INCX specifies the increment for the elements of !> X. INCX must not be zero. !> |
[in] | BETA | !> BETA is DOUBLE PRECISION. !> On entry, BETA specifies the scalar beta. !> |
[in,out] | Y | !> Y is DOUBLE PRECISION array, dimension at least !> ( 1 + ( n - 1 )*abs( INCY ) ). !> Before entry, the incremented array Y must contain the !> vector y. On exit, Y is overwritten by the updated vector y. !> |
[in] | INCY | !> INCY is INTEGER !> On entry, INCY specifies the increment for the elements of !> Y. INCY must not be zero. !> |
!> !> Level 2 Blas routine. !> The vector and matrix arguments are not referenced when N = 0, or M = 0 !> !> -- Written on 22-October-1986. !> Jack Dongarra, Argonne National Lab. !> Jeremy Du Croz, Nag Central Office. !> Sven Hammarling, Nag Central Office. !> Richard Hanson, Sandia National Labs. !>
Definition at line 183 of file dsbmv.f.