CSTT22

   Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
   November 2006

Purpose

CSTT22  checks a set of M eigenvalues and eigenvectors,

    A U = U S

where A is Hermitian tridiagonal, the columns of U are unitary,
and S is diagonal (if KBAND=0) or Hermitian tridiagonal (if KBAND=1).
Two tests are performed:

   RESULT(1) = | U* A U - S | / ( |A| m ulp )

   RESULT(2) = | I - U*U | / ( m ulp )

Arguments

N
(input) INTEGER
The size of the matrix.  If it is zero, CSTT22 does nothing.
It must be at least zero.
M
(input) INTEGER
The number of eigenpairs to check.  If it is zero, CSTT22
does nothing.  It must be at least zero.
KBAND
(input) INTEGER
The bandwidth of the matrix S.  It may only be zero or one.
If zero, then S is diagonal, and SE is not referenced.  If
one, then S is Hermitian tri-diagonal.
AD
(input) REAL array, dimension (N)
The diagonal of the original (unfactored) matrix A.  A is
assumed to be Hermitian tridiagonal.
AE
(input) REAL array, dimension (N)
The off-diagonal of the original (unfactored) matrix A.  A
is assumed to be Hermitian tridiagonal.  AE(1) is ignored,
AE(2) is the (1,2) and (2,1) element, etc.
SD
(input) REAL array, dimension (N)
The diagonal of the (Hermitian tri-) diagonal matrix S.
SE
(input) REAL array, dimension (N)
The off-diagonal of the (Hermitian tri-) diagonal matrix S.
Not referenced if KBSND=0.  If KBAND=1, then AE(1) is
ignored, SE(2) is the (1,2) and (2,1) element, etc.
U
(input) REAL array, dimension (LDU, N)
The unitary matrix in the decomposition.
LDU
(input) INTEGER
The leading dimension of U.  LDU must be at least N.
WORK
(workspace) COMPLEX array, dimension (LDWORK, M+1)
LDWORK
(input) INTEGER
The leading dimension of WORK.  LDWORK must be at least
max(1,M).
RWORK
(workspace) REAL array, dimension (N)
RESULT
(output) REAL array, dimension (2)
The values computed by the two tests described above.  The
values are currently limited to 1/ulp, to avoid overflow.

Call Graph

Caller Graph