version 1.2, 2010/08/07 13:22:36
|
version 1.5, 2011/07/22 07:38:16
|
Line 1
|
Line 1
|
SUBROUTINE ZLA_GBAMV( TRANS, M, N, KL, KU, ALPHA, AB, LDAB, X, |
SUBROUTINE ZLA_GBAMV( TRANS, M, N, KL, KU, ALPHA, AB, LDAB, X, |
$ INCX, BETA, Y, INCY ) |
$ INCX, BETA, Y, INCY ) |
* |
* |
* -- LAPACK routine (version 3.2.2) -- |
* -- LAPACK routine (version 3.3.1) -- |
* -- Contributed by James Demmel, Deaglan Halligan, Yozo Hida and -- |
* -- Contributed by James Demmel, Deaglan Halligan, Yozo Hida and -- |
* -- Jason Riedy of Univ. of California Berkeley. -- |
* -- Jason Riedy of Univ. of California Berkeley. -- |
* -- June 2010 -- |
* -- June 2010 -- |
Line 23
|
Line 23
|
* Purpose |
* Purpose |
* ======= |
* ======= |
* |
* |
* DLA_GBAMV performs one of the matrix-vector operations |
* ZLA_GBAMV performs one of the matrix-vector operations |
* |
* |
* y := alpha*abs(A)*abs(x) + beta*abs(y), |
* y := alpha*abs(A)*abs(x) + beta*abs(y), |
* or y := alpha*abs(A)'*abs(x) + beta*abs(y), |
* or y := alpha*abs(A)**T*abs(x) + beta*abs(y), |
* |
* |
* where alpha and beta are scalars, x and y are vectors and A is an |
* where alpha and beta are scalars, x and y are vectors and A is an |
* m by n matrix. |
* m by n matrix. |
Line 48
|
Line 48
|
* follows: |
* follows: |
* |
* |
* BLAS_NO_TRANS y := alpha*abs(A)*abs(x) + beta*abs(y) |
* BLAS_NO_TRANS y := alpha*abs(A)*abs(x) + beta*abs(y) |
* BLAS_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) |
* BLAS_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) |
* BLAS_CONJ_TRANS y := alpha*abs(A')*abs(x) + beta*abs(y) |
* BLAS_CONJ_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) |
* |
* |
* Unchanged on exit. |
* Unchanged on exit. |
* |
* |
* M (input) INTEGER |
* M (input) INTEGER |
* On entry, M specifies the number of rows of the matrix A. |
* On entry, M specifies the number of rows of the matrix A. |
* M must be at least zero. |
* M must be at least zero. |
* Unchanged on exit. |
* Unchanged on exit. |
* |
* |
* N (input) INTEGER |
* N (input) INTEGER |
* On entry, N specifies the number of columns of the matrix A. |
* On entry, N specifies the number of columns of the matrix A. |
* N must be at least zero. |
* N must be at least zero. |
* Unchanged on exit. |
* Unchanged on exit. |
* |
* |
* KL (input) INTEGER |
* KL (input) INTEGER |
* The number of subdiagonals within the band of A. KL >= 0. |
* The number of subdiagonals within the band of A. KL >= 0. |
* |
* |
* KU (input) INTEGER |
* KU (input) INTEGER |
* The number of superdiagonals within the band of A. KU >= 0. |
* The number of superdiagonals within the band of A. KU >= 0. |
* |
* |
* ALPHA - DOUBLE PRECISION |
* ALPHA (input) DOUBLE PRECISION |
* On entry, ALPHA specifies the scalar alpha. |
* On entry, ALPHA specifies the scalar alpha. |
* Unchanged on exit. |
* Unchanged on exit. |
* |
* |
* A - DOUBLE PRECISION array of DIMENSION ( LDA, n ) |
* AB (input) COMPLEX*16 array of DIMENSION ( LDAB, n ) |
* Before entry, the leading m by n part of the array A must |
* Before entry, the leading m by n part of the array AB must |
* contain the matrix of coefficients. |
* contain the matrix of coefficients. |
* Unchanged on exit. |
* Unchanged on exit. |
* |
* |
* LDA (input) INTEGER |
* LDAB (input) INTEGER |
* On entry, LDA specifies the first dimension of A as declared |
* On entry, LDAB specifies the first dimension of AB as declared |
* in the calling (sub) program. LDA must be at least |
* in the calling (sub) program. LDAB must be at least |
* max( 1, m ). |
* max( 1, m ). |
* Unchanged on exit. |
* Unchanged on exit. |
* |
* |
* X (input) DOUBLE PRECISION array, dimension |
* X (input) COMPLEX*16 array, dimension |
* ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' |
* ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' |
* and at least |
* and at least |
* ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. |
* ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. |
Line 92
|
Line 92
|
* vector x. |
* vector x. |
* Unchanged on exit. |
* Unchanged on exit. |
* |
* |
* INCX (input) INTEGER |
* INCX (input) INTEGER |
* On entry, INCX specifies the increment for the elements of |
* On entry, INCX specifies the increment for the elements of |
* X. INCX must not be zero. |
* X. INCX must not be zero. |
* Unchanged on exit. |
* Unchanged on exit. |
* |
* |
* BETA - DOUBLE PRECISION |
* BETA (input) DOUBLE PRECISION |
* On entry, BETA specifies the scalar beta. When BETA is |
* On entry, BETA specifies the scalar beta. When BETA is |
* supplied as zero then Y need not be set on input. |
* supplied as zero then Y need not be set on input. |
* Unchanged on exit. |
* Unchanged on exit. |
* |
* |
* Y (input/output) DOUBLE PRECISION array, dimension |
* Y (input/output) DOUBLE PRECISION array, dimension |
* ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' |
* ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' |
* and at least |
* and at least |
* ( 1 + ( n - 1 )*abs( INCY ) ) otherwise. |
* ( 1 + ( n - 1 )*abs( INCY ) ) otherwise. |
Line 110
|
Line 110
|
* must contain the vector y. On exit, Y is overwritten by the |
* must contain the vector y. On exit, Y is overwritten by the |
* updated vector y. |
* updated vector y. |
* |
* |
* INCY (input) INTEGER |
* INCY (input) INTEGER |
* On entry, INCY specifies the increment for the elements of |
* On entry, INCY specifies the increment for the elements of |
* Y. INCY must not be zero. |
* Y. INCY must not be zero. |
* Unchanged on exit. |
* Unchanged on exit. |