TESTING/EIG/dsbt21.f(3)

NAME
TESTING/EIG/dsbt21.f

SYNOPSIS

  Functions/Subroutines
subroutine dsbt21 (uplo, n, ka, ks, a, lda, d, e, u, ldu, work, result)
DSBT21

Function/Subroutine Documentation

  subroutine dsbt21 (character uplo, integer n, integer ka, integer ks, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( * ) d, double precision, dimension( * ) e, double precision, dimension( ldu, * ) u, integer ldu, double precision, dimension( * ) work, double precision, dimension( 2 ) result)

DSBT21

Purpose:

    !>
    !> DSBT21  generally checks a decomposition of the form
    !>
    !>         A = U S U**T
    !>
    !> where **T means transpose, A is symmetric banded, U is
    !> orthogonal, and S is diagonal (if KS=0) or symmetric
    !> tridiagonal (if KS=1).
    !>
    !> Specifically:
    !>
    !>         RESULT(1) = | A - U S U**T | / ( |A| n ulp ) and
    !>         RESULT(2) = | I - U U**T | / ( n ulp )
    !>

Parameters
    UPLO

    !>          UPLO is CHARACTER
    !>          If UPLO='U', the upper triangle of A and V will be used and
    !>          the (strictly) lower triangle will not be referenced.
    !>          If UPLO='L', the lower triangle of A and V will be used and
    !>          the (strictly) upper triangle will not be referenced.
    !>

    N

    !>          N is INTEGER
    !>          The size of the matrix.  If it is zero, DSBT21 does nothing.
    !>          It must be at least zero.
    !>

    KA

    !>          KA is INTEGER
    !>          The bandwidth of the matrix A.  It must be at least zero.  If
    !>          it is larger than N-1, then max( 0, N-1 ) will be used.
    !>

    KS

    !>          KS is INTEGER
    !>          The bandwidth of the matrix S.  It may only be zero or one.
    !>          If zero, then S is diagonal, and E is not referenced.  If
    !>          one, then S is symmetric tri-diagonal.
    !>

    A

    !>          A is DOUBLE PRECISION array, dimension (LDA, N)
    !>          The original (unfactored) matrix.  It is assumed to be
    !>          symmetric, and only the upper (UPLO='U') or only the lower
    !>          (UPLO='L') will be referenced.
    !>

    LDA

    !>          LDA is INTEGER
    !>          The leading dimension of A.  It must be at least 1
    !>          and at least min( KA, N-1 ).
    !>

    D

    !>          D is DOUBLE PRECISION array, dimension (N)
    !>          The diagonal of the (symmetric tri-) diagonal matrix S.
    !>

    E

    !>          E is DOUBLE PRECISION array, dimension (N-1)
    !>          The off-diagonal of the (symmetric tri-) diagonal matrix S.
    !>          E(1) is the (1,2) and (2,1) element, E(2) is the (2,3) and
    !>          (3,2) element, etc.
    !>          Not referenced if KS=0.
    !>

    U

    !>          U is DOUBLE PRECISION array, dimension (LDU, N)
    !>          The orthogonal matrix in the decomposition, expressed as a
    !>          dense matrix (i.e., not as a product of Householder
    !>          transformations, Givens transformations, etc.)
    !>

    LDU

    !>          LDU is INTEGER
    !>          The leading dimension of U.  LDU must be at least N and
    !>          at least 1.
    !>

    WORK

    !>          WORK is DOUBLE PRECISION array, dimension (N**2+N)
    !>

    RESULT

    !>          RESULT is DOUBLE PRECISION array, dimension (2)
    !>          The values computed by the two tests described above.  The
    !>          values are currently limited to 1/ulp, to avoid overflow.
    !>

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Definition at line 145 of file dsbt21.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.