LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
|
subroutine cla_heamv | ( | integer | uplo, |
integer | n, | ||
real | alpha, | ||
complex, dimension( lda, * ) | a, | ||
integer | lda, | ||
complex, dimension( * ) | x, | ||
integer | incx, | ||
real | beta, | ||
real, dimension( * ) | y, | ||
integer | incy ) |
CLA_HEAMV computes a matrix-vector product using a Hermitian indefinite matrix to calculate error bounds.
Download CLA_HEAMV + dependencies [TGZ] [ZIP] [TXT]
!> !> CLA_SYAMV performs the matrix-vector operation !> !> y := alpha*abs(A)*abs(x) + beta*abs(y), !> !> where alpha and beta are scalars, x and y are vectors and A is an !> n by n symmetric 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 block-structure embedded in general matrices, !> zero components are not perturbed. A zero !> entry is considered if all multiplications involved !> in computing that entry have at least one zero multiplicand. !>
[in] | UPLO | !> UPLO is INTEGER !> On entry, UPLO specifies whether the upper or lower !> triangular part of the array A is to be referenced as !> follows: !> !> UPLO = BLAS_UPPER Only the upper triangular part of A !> is to be referenced. !> !> UPLO = BLAS_LOWER Only the lower triangular part of A !> is to be referenced. !> !> Unchanged on exit. !> |
[in] | N | !> N is INTEGER !> On entry, N specifies the number of columns of the matrix A. !> N must be at least zero. !> Unchanged on exit. !> |
[in] | ALPHA | !> ALPHA is REAL . !> On entry, ALPHA specifies the scalar alpha. !> Unchanged on exit. !> |
[in] | A | !> A is COMPLEX array, dimension ( LDA, n ). !> Before entry, the leading m by n part of the array A must !> contain the matrix of coefficients. !> Unchanged on exit. !> |
[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 !> max( 1, n ). !> Unchanged on exit. !> |
[in] | X | !> X is COMPLEX array, dimension !> ( 1 + ( n - 1 )*abs( INCX ) ) !> Before entry, the incremented array X must contain the !> vector x. !> Unchanged on exit. !> |
[in] | INCX | !> INCX is INTEGER !> On entry, INCX specifies the increment for the elements of !> X. INCX must not be zero. !> Unchanged on exit. !> |
[in] | BETA | !> BETA is REAL . !> On entry, BETA specifies the scalar beta. When BETA is !> supplied as zero then Y need not be set on input. !> Unchanged on exit. !> |
[in,out] | Y | !> Y is REAL array, dimension !> ( 1 + ( n - 1 )*abs( INCY ) ) !> Before entry with BETA non-zero, 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. !> Unchanged on exit. !> |
!> !> Level 2 Blas routine. !> !> -- 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. !> -- Modified for the absolute-value product, April 2006 !> Jason Riedy, UC Berkeley !>
Definition at line 174 of file cla_heamv.f.