# cstt22.f - Man Page

TESTING/EIG/cstt22.f

## Synopsis

### Functions/Subroutines

subroutine **cstt22** (n, m, kband, ad, ae, sd, se, u, ldu, work, ldwork, rwork, result)**CSTT22**

## Function/Subroutine Documentation

### subroutine cstt22 (integer n, integer m, integer kband, real, dimension( * ) ad, real, dimension( * ) ae, real, dimension( * ) sd, real, dimension( * ) se, complex, dimension( ldu, * ) u, integer ldu, complex, dimension( ldwork, * ) work, integer ldwork, real, dimension( * ) rwork, real, dimension( 2 ) result)

**CSTT22**

**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 )

**Parameters***N*N is INTEGER The size of the matrix. If it is zero, CSTT22 does nothing. It must be at least zero.

*M*M is INTEGER The number of eigenpairs to check. If it is zero, CSTT22 does nothing. It must be at least zero.

*KBAND*KBAND is 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*AD is REAL array, dimension (N) The diagonal of the original (unfactored) matrix A. A is assumed to be Hermitian tridiagonal.

*AE*AE is 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*SD is REAL array, dimension (N) The diagonal of the (Hermitian tri-) diagonal matrix S.

*SE*SE is 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*U is REAL array, dimension (LDU, N) The unitary matrix in the decomposition.

*LDU*LDU is INTEGER The leading dimension of U. LDU must be at least N.

*WORK*WORK is COMPLEX array, dimension (LDWORK, M+1)

*LDWORK*LDWORK is INTEGER The leading dimension of WORK. LDWORK must be at least max(1,M).

*RWORK*RWORK is REAL array, dimension (N)

*RESULT*RESULT is REAL 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 **143** of file **cstt22.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.

## Referenced By

The man page cstt22(3) is an alias of cstt22.f(3).

Tue Nov 28 2023 12:08:42 Version 3.12.0 LAPACK