ZSTT21

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

Purpose

ZSTT21  checks a decomposition of the form

   A = U S U*

where * means conjugate transpose, A is real symmetric tridiagonal,
U is unitary, and S is real and diagonal (if KBAND=0) or symmetric
tridiagonal (if KBAND=1).  Two tests are performed:

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

   RESULT(2) = | I - UU* | / ( n ulp )

Arguments

N
(input) INTEGER
The size of the matrix.  If it is zero, ZSTT21 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 symmetric tri-diagonal.
AD
(input) DOUBLE PRECISION array, dimension (N)
The diagonal of the original (unfactored) matrix A.  A is
assumed to be real symmetric tridiagonal.
AE
(input) DOUBLE PRECISION array, dimension (N-1)
The off-diagonal of the original (unfactored) matrix A.  A
is assumed to be symmetric tridiagonal.  AE(1) is the (1,2)
and (2,1) element, AE(2) is the (2,3) and (3,2) element, etc.
SD
(input) DOUBLE PRECISION array, dimension (N)
The diagonal of the real (symmetric tri-) diagonal matrix S.
SE
(input) DOUBLE PRECISION array, dimension (N-1)
The off-diagonal of the (symmetric tri-) diagonal matrix S.
Not referenced if KBSND=0.  If KBAND=1, then AE(1) is the
(1,2) and (2,1) element, SE(2) is the (2,3) and (3,2)
element, etc.
U
(input) COMPLEX*16 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*16 array, dimension (N**2)
RWORK
(workspace) DOUBLE PRECISION array, dimension (N)
RESULT
(output) 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.
RESULT(1) is always modified.

Call Graph

Caller Graph