TESTING/LIN/zlavhe.f(3)

NAME
TESTING/LIN/zlavhe.f

SYNOPSIS

  Functions/Subroutines
subroutine zlavhe (uplo, trans, diag, n, nrhs, a, lda, ipiv, b, ldb, info)
ZLAVHE

Function/Subroutine Documentation

  subroutine zlavhe (character uplo, character trans, character diag, integer n, integer nrhs, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex*16, dimension( ldb, * ) b, integer ldb, integer info)

ZLAVHE

Purpose:

     ZLAVHE performs one of the matrix-vector operations
        x := A*x  or  x := A^H*x,
     where x is an N element vector and  A is one of the factors
     from the block U*D*U' or L*D*L' factorization computed by ZHETRF.
     If TRANS = 'N', multiplies by U  or U * D  (or L  or L * D)
     If TRANS = 'C', multiplies by U' or D * U' (or L' or D * L')

Parameters
    UPLO

              UPLO is CHARACTER*1
              Specifies whether the factor stored in A is upper or lower
              triangular.
              = 'U':  Upper triangular
              = 'L':  Lower triangular

    TRANS

              TRANS is CHARACTER*1
              Specifies the operation to be performed:
              = 'N':  x := A*x
              = 'C':  x := A'*x

    DIAG

              DIAG is CHARACTER*1
              Specifies whether or not the diagonal blocks are unit
              matrices.  If the diagonal blocks are assumed to be unit,
              then A = U or A = L, otherwise A = U*D or A = L*D.
              = 'U':  Diagonal blocks are assumed to be unit matrices.
              = 'N':  Diagonal blocks are assumed to be non-unit matrices.

    N

              N is INTEGER
              The number of rows and columns of the matrix A.  N >= 0.

    NRHS

              NRHS is INTEGER
              The number of right hand sides, i.e., the number of vectors
              x to be multiplied by A.  NRHS >= 0.

    A

              A is COMPLEX*16 array, dimension (LDA,N)
              The block diagonal matrix D and the multipliers used to
              obtain the factor U or L as computed by ZHETRF.
              Stored as a 2-D triangular matrix.

    LDA

              LDA is INTEGER
              The leading dimension of the array A.  LDA >= max(1,N).

    IPIV

              IPIV is INTEGER array, dimension (N)
              Details of the interchanges and the block structure of D,
              as determined by ZHETRF.
              If UPLO = 'U':
                   If IPIV(k) > 0, then rows and columns k and IPIV(k)
                   were interchanged and D(k,k) is a 1-by-1 diagonal block.
                   (If IPIV( k ) = k, no interchange was done).
                   If IPIV(k) = IPIV(k-1) < 0, then rows and
                   columns k-1 and -IPIV(k) were interchanged,
                   D(k-1:k,k-1:k) is a 2-by-2 diagonal block.
              If UPLO = 'L':
                   If IPIV(k) > 0, then rows and columns k and IPIV(k)
                   were interchanged and D(k,k) is a 1-by-1 diagonal block.
                   (If IPIV( k ) = k, no interchange was done).
                   If IPIV(k) = IPIV(k+1) < 0, then rows and
                   columns k+1 and -IPIV(k) were interchanged,
                   D(k:k+1,k:k+1) is a 2-by-2 diagonal block.

    B

              B is COMPLEX*16 array, dimension (LDB,NRHS)
              On entry, B contains NRHS vectors of length N.
              On exit, B is overwritten with the product A * B.

    LDB

              LDB is INTEGER
              The leading dimension of the array B.  LDB >= max(1,N).

    INFO

              INFO is INTEGER
              = 0: successful exit
              < 0: if INFO = -k, the k-th argument had an illegal value

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Definition at line 151 of file zlavhe.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.