version 1.4, 2010/12/21 13:53:48
|
version 1.5, 2011/07/22 07:38:16
|
Line 1
|
Line 1
|
SUBROUTINE ZLA_GEAMV ( TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, |
SUBROUTINE ZLA_GEAMV ( TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, |
$ Y, INCY ) |
$ 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 27
|
Line 27
|
* ZLA_GEAMV performs one of the matrix-vector operations |
* ZLA_GEAMV 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 44
|
Line 44
|
* Arguments |
* Arguments |
* ========== |
* ========== |
* |
* |
* TRANS (input) INTEGER |
* TRANS (input) INTEGER |
* On entry, TRANS specifies the operation to be performed as |
* On entry, TRANS specifies the operation to be performed as |
* 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. |
* |
* |
* 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 - COMPLEX*16 array of DIMENSION ( LDA, n ) |
* A (input) COMPLEX*16 array of DIMENSION ( LDA, 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 A must |
* contain the matrix of coefficients. |
* contain the matrix of coefficients. |
* Unchanged on exit. |
* Unchanged on exit. |
* |
* |
* LDA (input) INTEGER |
* LDA (input) INTEGER |
* On entry, LDA specifies the first dimension of A as declared |
* On entry, LDA specifies the first dimension of A as declared |
* in the calling (sub) program. LDA must be at least |
* in the calling (sub) program. LDA must be at least |
* max( 1, m ). |
* max( 1, m ). |
* Unchanged on exit. |
* Unchanged on exit. |
* |
* |
* X - COMPLEX*16 array of DIMENSION at least |
* X (input) COMPLEX*16 array of DIMENSION at least |
* ( 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 87
|
Line 87
|
* 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 105
|
Line 105
|
* 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. |