CSTT21
   Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
November 2006
November 2006
Purpose
CSTT21  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 )
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, CSTT21 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) REAL array, dimension (N)
 
The diagonal of the original (unfactored) matrix A.  A is 
assumed to be real symmetric tridiagonal.  | 
| AE | 
 
(input) REAL 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) REAL array, dimension (N)
 
The diagonal of the real (symmetric tri-) diagonal matrix S. 
 | 
| SE | 
 
(input) REAL 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 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 (N**2)
 
 | 
| 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. RESULT(1) is always modified.  |