LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
|
subroutine sla_gbamv | ( | integer | trans, |
integer | m, | ||
integer | n, | ||
integer | kl, | ||
integer | ku, | ||
real | alpha, | ||
real, dimension( ldab, * ) | ab, | ||
integer | ldab, | ||
real, dimension( * ) | x, | ||
integer | incx, | ||
real | beta, | ||
real, dimension( * ) | y, | ||
integer | incy ) |
SLA_GBAMV performs a matrix-vector operation to calculate error bounds.
Download SLA_GBAMV + dependencies [TGZ] [ZIP] [TXT]
!> !> SLA_GBAMV performs one of the matrix-vector operations !> !> 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 !> 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 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] | TRANS | !> TRANS is 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(A**T)*abs(x) + beta*abs(y) !> BLAS_CONJ_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y) !> !> Unchanged on exit. !> |
[in] | M | !> M is INTEGER !> On entry, M specifies the number of rows of the matrix A. !> M must be at least zero. !> 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] | KL | !> KL is INTEGER !> The number of subdiagonals within the band of A. KL >= 0. !> |
[in] | KU | !> KU is INTEGER !> The number of superdiagonals within the band of A. KU >= 0. !> |
[in] | ALPHA | !> ALPHA is REAL !> On entry, ALPHA specifies the scalar alpha. !> Unchanged on exit. !> |
[in] | AB | !> AB is REAL array, dimension ( LDAB, n ) !> Before entry, the leading m by n part of the array AB must !> contain the matrix of coefficients. !> Unchanged on exit. !> |
[in] | LDAB | !> LDAB is INTEGER !> On entry, LDA specifies the first dimension of AB as declared !> in the calling (sub) program. LDAB must be at least !> max( 1, m ). !> Unchanged on exit. !> |
[in] | X | !> X is REAL array, dimension !> ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n' !> and at least !> ( 1 + ( m - 1 )*abs( INCX ) ) otherwise. !> 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 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n' !> and at least !> ( 1 + ( n - 1 )*abs( INCY ) ) otherwise. !> 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. !> If either m or n is zero, then Y not referenced and the function !> performs a quick return. !> |
[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. !> |
Definition at line 183 of file sla_gbamv.f.