la_gbamv(3)

NAME
la_gbamv - la_gbamv: matrix-vector multiply |A| * |x|, general banded

SYNOPSIS

  Functions
subroutine cla_gbamv (trans, m, n, kl, ku, alpha, ab, ldab, x, incx, beta, y, incy)
CLA_GBAMV performs a matrix-vector operation to calculate error bounds.
subroutine dla_gbamv (trans, m, n, kl, ku, alpha, ab, ldab, x, incx, beta, y, incy)
DLA_GBAMV performs a matrix-vector operation to calculate error bounds.
subroutine sla_gbamv (trans, m, n, kl, ku, alpha, ab, ldab, x, incx, beta, y, incy)
SLA_GBAMV performs a matrix-vector operation to calculate error bounds.
subroutine zla_gbamv (trans, m, n, kl, ku, alpha, ab, ldab, x, incx, beta, y, incy)
ZLA_GBAMV performs a matrix-vector operation to calculate error bounds.

Detailed Description

Function Documentation

  subroutine cla_gbamv (integer trans, integer m, integer n, integer kl, integer ku, real alpha, complex, dimension( ldab, * ) ab, integer ldab, complex, dimension( * ) x, integer incx, real beta, real, dimension( * ) y, integer incy)

CLA_GBAMV performs a matrix-vector operation to calculate error bounds.

Purpose:

     CLA_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,
     '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.

Parameters
    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.

    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.

    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.

    KL

              KL is INTEGER
               The number of subdiagonals within the band of A.  KL >= 0.

    KU

              KU is INTEGER
               The number of superdiagonals within the band of A.  KU >= 0.

    ALPHA

              ALPHA is REAL
               On entry, ALPHA specifies the scalar alpha.
               Unchanged on exit.

    AB

              AB is COMPLEX 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.

    LDAB

              LDAB is INTEGER
               On entry, LDAB specifies the first dimension of AB as declared
               in the calling (sub) program. LDAB must be at least
               max( 1, m ).
               Unchanged on exit.

    X

              X is COMPLEX 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.

    INCX

              INCX is INTEGER
               On entry, INCX specifies the increment for the elements of
               X. INCX must not be zero.
               Unchanged on exit.

    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.

    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.

    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.

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Definition at line 186 of file cla_gbamv.f.

  subroutine dla_gbamv (integer trans, integer m, integer n, integer kl, integer ku, double precision alpha, double precision, dimension( ldab, * ) ab, integer ldab, double precision, dimension( * ) x, integer incx, double precision beta, double precision, dimension( * ) y, integer incy)

DLA_GBAMV performs a matrix-vector operation to calculate error bounds.

Purpose:

     DLA_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,
     '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.

Parameters
    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.

    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.

    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.

    KL

              KL is INTEGER
               The number of subdiagonals within the band of A.  KL >= 0.

    KU

              KU is INTEGER
               The number of superdiagonals within the band of A.  KU >= 0.

    ALPHA

              ALPHA is DOUBLE PRECISION
               On entry, ALPHA specifies the scalar alpha.
               Unchanged on exit.

    AB

              AB is DOUBLE PRECISION 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.

    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.

    X

              X is DOUBLE PRECISION 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.

    INCX

              INCX is INTEGER
               On entry, INCX specifies the increment for the elements of
               X. INCX must not be zero.
               Unchanged on exit.

    BETA

              BETA is 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

              Y is DOUBLE PRECISION 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.

    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.

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Definition at line 185 of file dla_gbamv.f.

  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.

Purpose:

     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,
     '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.

Parameters
    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.

    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.

    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.

    KL

              KL is INTEGER
               The number of subdiagonals within the band of A.  KL >= 0.

    KU

              KU is INTEGER
               The number of superdiagonals within the band of A.  KU >= 0.

    ALPHA

              ALPHA is REAL
               On entry, ALPHA specifies the scalar alpha.
               Unchanged on exit.

    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.

    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.

    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.

    INCX

              INCX is INTEGER
               On entry, INCX specifies the increment for the elements of
               X. INCX must not be zero.
               Unchanged on exit.

    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.

    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.

    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.

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Definition at line 185 of file sla_gbamv.f.

  subroutine zla_gbamv (integer trans, integer m, integer n, integer kl, integer ku, double precision alpha, complex*16, dimension( ldab, * ) ab, integer ldab, complex*16, dimension( * ) x, integer incx, double precision beta, double precision, dimension( * ) y, integer incy)

ZLA_GBAMV performs a matrix-vector operation to calculate error bounds.

Purpose:

     ZLA_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,
     '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.

Parameters
    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.

    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.

    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.

    KL

              KL is INTEGER
               The number of subdiagonals within the band of A.  KL >= 0.

    KU

              KU is INTEGER
               The number of superdiagonals within the band of A.  KU >= 0.

    ALPHA

              ALPHA is DOUBLE PRECISION
               On entry, ALPHA specifies the scalar alpha.
               Unchanged on exit.

    AB

              AB is COMPLEX*16 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.

    LDAB

              LDAB is INTEGER
               On entry, LDAB specifies the first dimension of AB as declared
               in the calling (sub) program. LDAB must be at least
               max( 1, m ).
               Unchanged on exit.

    X

              X is COMPLEX*16 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.

    INCX

              INCX is INTEGER
               On entry, INCX specifies the increment for the elements of
               X. INCX must not be zero.
               Unchanged on exit.

    BETA

              BETA is 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

              Y is DOUBLE PRECISION 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.

    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.

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Definition at line 186 of file zla_gbamv.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.