---
name: "dstt22.f"
section: "3"
platform: "linux"
package: "lapack-doc"
version: "3.12.1-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/dstt22.f"
---

# dstt22.f(3)

## NAME

TESTING/EIG/dstt22.f

## SYNOPSIS

### Functions/Subroutines

subroutine **dstt22** (n, m, kband, ad, ae, sd, se, u, ldu, work, ldwork, result)\
 **DSTT22**

## Function/Subroutine Documentation

### subroutine dstt22 (integer n, integer m, integer kband, double precision, dimension( \* ) ad, double precision, dimension( \* ) ae, double precision, dimension( \* ) sd, double precision, dimension( \* ) se, double precision, dimension( ldu, \* ) u, integer ldu, double precision, dimension( ldwork, \* ) work, integer ldwork, double precision, dimension( 2 ) result)

**DSTT22**

**Purpose:**

```
!>
!> DSTT22  checks a set of M eigenvalues and eigenvectors,
!>
!>     A U = U S
!>
!> where A is symmetric tridiagonal, the columns of U are orthogonal,
!> and S is diagonal (if KBAND=0) or symmetric 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, DSTT22 does nothing.
!>          It must be at least zero.
!>
```

*M*

```
!>          M is INTEGER
!>          The number of eigenpairs to check.  If it is zero, DSTT22
!>          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 symmetric tri-diagonal.
!>
```

*AD*

```
!>          AD is DOUBLE PRECISION array, dimension (N)
!>          The diagonal of the original (unfactored) matrix A.  A is
!>          assumed to be symmetric tridiagonal.
!>
```

*AE*

```
!>          AE is DOUBLE PRECISION array, dimension (N)
!>          The off-diagonal of the original (unfactored) matrix A.  A
!>          is assumed to be symmetric tridiagonal.  AE(1) is ignored,
!>          AE(2) is the (1,2) and (2,1) element, etc.
!>
```

*SD*

```
!>          SD is DOUBLE PRECISION array, dimension (N)
!>          The diagonal of the (symmetric tri-) diagonal matrix S.
!>
```

*SE*

```
!>          SE is DOUBLE PRECISION array, dimension (N)
!>          The off-diagonal of the (symmetric 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 DOUBLE PRECISION array, dimension (LDU, N)
!>          The orthogonal matrix in the decomposition.
!>
```

*LDU*

```
!>          LDU is INTEGER
!>          The leading dimension of U.  LDU must be at least N.
!>
```

*WORK*

```
!>          WORK is DOUBLE PRECISION array, dimension (LDWORK, M+1)
!>
```

*LDWORK*

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

*RESULT*

```
!>          RESULT is 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.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **137** of file **dstt22.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
