zla_geamv (l)  Linux Man Pages
zla_geamv: performs one of the matrixvector operations y := alpha*abs(A)*abs(x) + beta*abs(y),
NAME
ZLA_GEAMV  performs one of the matrixvector operations y := alpha*abs(A)*abs(x) + beta*abs(y),SYNOPSIS
 SUBROUTINE ZLA_GEAMV
 ( TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY )
 IMPLICIT NONE
 DOUBLE PRECISION ALPHA, BETA
 INTEGER INCX, INCY, LDA, M, N
 INTEGER TRANS
 COMPLEX*16 A( LDA, * ), X( * )
 DOUBLE PRECISION Y( * )
PURPOSE
ZLA_GEAMV performs one of the matrixvector operationsor
where alpha and beta are scalars, x and y are vectors and A is an m by n matrix.
This function is primarily used in calculating error bounds. To protect against underflow during evaluation, components in the resulting vector are perturbed away from zero by (N+1) times the underflow threshold. To prevent unnecessarily large errors for blockstructure embedded in general matrices,
"symbolically" zero components are not perturbed. A zero entry is considered "symbolic" if all multiplications involved in computing that entry have at least one zero multiplicand.
ARGUMENTS
 TRANS  INTEGER
 On entry, TRANS specifies the operation to be performed as follows:
 BLAS_NO_TRANS y := alpha*abs(A)*abs(x) + beta*abs(y)

BLAS_TRANS y := alpha*abs(Aaq)*abs(x) + beta*abs(y)
BLAS_CONJ_TRANS y := alpha*abs(Aaq)*abs(x) + beta*abs(y) Unchanged on exit.  M  INTEGER
 On entry, M specifies the number of rows of the matrix A. M must be at least zero. Unchanged on exit.
 N  INTEGER
 On entry, N specifies the number of columns of the matrix A. N must be at least zero. Unchanged on exit.
 ALPHA  DOUBLE PRECISION
 On entry, ALPHA specifies the scalar alpha. Unchanged on exit.
 A  COMPLEX*16 array of DIMENSION ( LDA, n )
 Before entry, the leading m by n part of the array A must contain the matrix of coefficients. Unchanged on exit.
 LDA  INTEGER
 On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. LDA must be at least max( 1, m ). Unchanged on exit.
 X  COMPLEX*16 array of DIMENSION at least
 ( 1 + ( n  1 )*abs( INCX ) ) when TRANS = aqNaq or aqnaq and at least ( 1 + ( m  1 )*abs( INCX ) ) otherwise. Before entry, the incremented array X must contain the vector x. Unchanged on exit.
 INCX  INTEGER
 On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Unchanged on exit.
 BETA  DOUBLE PRECISION
 On entry, BETA specifies the scalar beta. When BETA is supplied as zero then Y need not be set on input. Unchanged on exit.
 Y  DOUBLE PRECISION array of DIMENSION at least
 ( 1 + ( m  1 )*abs( INCY ) ) when TRANS = aqNaq or aqnaq and at least ( 1 + ( n  1 )*abs( INCY ) ) otherwise. Before entry with BETA nonzero, the incremented array Y must contain the vector y. On exit, Y is overwritten by the updated vector y.
 INCY  INTEGER

On entry, INCY specifies the increment for the elements of
Y. INCY must not be zero.
Unchanged on exit.
Level 2 Blas routine.