# steqr - Man Page

steqr: eig, QR iteration

## Synopsis

### Functions

subroutine csteqr (compz, n, d, e, z, ldz, work, info)
CSTEQR
subroutine dsteqr (compz, n, d, e, z, ldz, work, info)
DSTEQR
subroutine ssteqr (compz, n, d, e, z, ldz, work, info)
SSTEQR
subroutine zsteqr (compz, n, d, e, z, ldz, work, info)
ZSTEQR

## Function Documentation

### subroutine csteqr (character compz, integer n, real, dimension( * ) d, real, dimension( * ) e, complex, dimension( ldz, * ) z, integer ldz, real, dimension( * ) work, integer info)

CSTEQR

Purpose:

``` CSTEQR computes all eigenvalues and, optionally, eigenvectors of a
symmetric tridiagonal matrix using the implicit QL or QR method.
The eigenvectors of a full or band complex Hermitian matrix can also
be found if CHETRD or CHPTRD or CHBTRD has been used to reduce this
matrix to tridiagonal form.```
Parameters

COMPZ

```          COMPZ is CHARACTER*1
= 'N':  Compute eigenvalues only.
= 'V':  Compute eigenvalues and eigenvectors of the original
Hermitian matrix.  On entry, Z must contain the
unitary matrix used to reduce the original matrix
to tridiagonal form.
= 'I':  Compute eigenvalues and eigenvectors of the
tridiagonal matrix.  Z is initialized to the identity
matrix.```

N

```          N is INTEGER
The order of the matrix.  N >= 0.```

D

```          D is REAL array, dimension (N)
On entry, the diagonal elements of the tridiagonal matrix.
On exit, if INFO = 0, the eigenvalues in ascending order.```

E

```          E is REAL array, dimension (N-1)
On entry, the (n-1) subdiagonal elements of the tridiagonal
matrix.
On exit, E has been destroyed.```

Z

```          Z is COMPLEX array, dimension (LDZ, N)
On entry, if  COMPZ = 'V', then Z contains the unitary
matrix used in the reduction to tridiagonal form.
On exit, if INFO = 0, then if COMPZ = 'V', Z contains the
orthonormal eigenvectors of the original Hermitian matrix,
and if COMPZ = 'I', Z contains the orthonormal eigenvectors
of the symmetric tridiagonal matrix.
If COMPZ = 'N', then Z is not referenced.```

LDZ

```          LDZ is INTEGER
The leading dimension of the array Z.  LDZ >= 1, and if
eigenvectors are desired, then  LDZ >= max(1,N).```

WORK

```          WORK is REAL array, dimension (max(1,2*N-2))
If COMPZ = 'N', then WORK is not referenced.```

INFO

```          INFO is INTEGER
= 0:  successful exit
< 0:  if INFO = -i, the i-th argument had an illegal value
> 0:  the algorithm has failed to find all the eigenvalues in
a total of 30*N iterations; if INFO = i, then i
elements of E have not converged to zero; on exit, D
and E contain the elements of a symmetric tridiagonal
matrix which is unitarily similar to the original
matrix.```
Author

Univ. of Tennessee

Univ. of California Berkeley

NAG Ltd.

Definition at line 131 of file csteqr.f.

### subroutine dsteqr (character compz, integer n, double precision, dimension( * ) d, double precision, dimension( * ) e, double precision, dimension( ldz, * ) z, integer ldz, double precision, dimension( * ) work, integer info)

DSTEQR

Purpose:

``` DSTEQR computes all eigenvalues and, optionally, eigenvectors of a
symmetric tridiagonal matrix using the implicit QL or QR method.
The eigenvectors of a full or band symmetric matrix can also be found
if DSYTRD or DSPTRD or DSBTRD has been used to reduce this matrix to
tridiagonal form.```
Parameters

COMPZ

```          COMPZ is CHARACTER*1
= 'N':  Compute eigenvalues only.
= 'V':  Compute eigenvalues and eigenvectors of the original
symmetric matrix.  On entry, Z must contain the
orthogonal matrix used to reduce the original matrix
to tridiagonal form.
= 'I':  Compute eigenvalues and eigenvectors of the
tridiagonal matrix.  Z is initialized to the identity
matrix.```

N

```          N is INTEGER
The order of the matrix.  N >= 0.```

D

```          D is DOUBLE PRECISION array, dimension (N)
On entry, the diagonal elements of the tridiagonal matrix.
On exit, if INFO = 0, the eigenvalues in ascending order.```

E

```          E is DOUBLE PRECISION array, dimension (N-1)
On entry, the (n-1) subdiagonal elements of the tridiagonal
matrix.
On exit, E has been destroyed.```

Z

```          Z is DOUBLE PRECISION array, dimension (LDZ, N)
On entry, if  COMPZ = 'V', then Z contains the orthogonal
matrix used in the reduction to tridiagonal form.
On exit, if INFO = 0, then if  COMPZ = 'V', Z contains the
orthonormal eigenvectors of the original symmetric matrix,
and if COMPZ = 'I', Z contains the orthonormal eigenvectors
of the symmetric tridiagonal matrix.
If COMPZ = 'N', then Z is not referenced.```

LDZ

```          LDZ is INTEGER
The leading dimension of the array Z.  LDZ >= 1, and if
eigenvectors are desired, then  LDZ >= max(1,N).```

WORK

```          WORK is DOUBLE PRECISION array, dimension (max(1,2*N-2))
If COMPZ = 'N', then WORK is not referenced.```

INFO

```          INFO is INTEGER
= 0:  successful exit
< 0:  if INFO = -i, the i-th argument had an illegal value
> 0:  the algorithm has failed to find all the eigenvalues in
a total of 30*N iterations; if INFO = i, then i
elements of E have not converged to zero; on exit, D
and E contain the elements of a symmetric tridiagonal
matrix which is orthogonally similar to the original
matrix.```
Author

Univ. of Tennessee

Univ. of California Berkeley

NAG Ltd.

Definition at line 130 of file dsteqr.f.

### subroutine ssteqr (character compz, integer n, real, dimension( * ) d, real, dimension( * ) e, real, dimension( ldz, * ) z, integer ldz, real, dimension( * ) work, integer info)

SSTEQR

Purpose:

``` SSTEQR computes all eigenvalues and, optionally, eigenvectors of a
symmetric tridiagonal matrix using the implicit QL or QR method.
The eigenvectors of a full or band symmetric matrix can also be found
if SSYTRD or SSPTRD or SSBTRD has been used to reduce this matrix to
tridiagonal form.```
Parameters

COMPZ

```          COMPZ is CHARACTER*1
= 'N':  Compute eigenvalues only.
= 'V':  Compute eigenvalues and eigenvectors of the original
symmetric matrix.  On entry, Z must contain the
orthogonal matrix used to reduce the original matrix
to tridiagonal form.
= 'I':  Compute eigenvalues and eigenvectors of the
tridiagonal matrix.  Z is initialized to the identity
matrix.```

N

```          N is INTEGER
The order of the matrix.  N >= 0.```

D

```          D is REAL array, dimension (N)
On entry, the diagonal elements of the tridiagonal matrix.
On exit, if INFO = 0, the eigenvalues in ascending order.```

E

```          E is REAL array, dimension (N-1)
On entry, the (n-1) subdiagonal elements of the tridiagonal
matrix.
On exit, E has been destroyed.```

Z

```          Z is REAL array, dimension (LDZ, N)
On entry, if  COMPZ = 'V', then Z contains the orthogonal
matrix used in the reduction to tridiagonal form.
On exit, if INFO = 0, then if  COMPZ = 'V', Z contains the
orthonormal eigenvectors of the original symmetric matrix,
and if COMPZ = 'I', Z contains the orthonormal eigenvectors
of the symmetric tridiagonal matrix.
If COMPZ = 'N', then Z is not referenced.```

LDZ

```          LDZ is INTEGER
The leading dimension of the array Z.  LDZ >= 1, and if
eigenvectors are desired, then  LDZ >= max(1,N).```

WORK

```          WORK is REAL array, dimension (max(1,2*N-2))
If COMPZ = 'N', then WORK is not referenced.```

INFO

```          INFO is INTEGER
= 0:  successful exit
< 0:  if INFO = -i, the i-th argument had an illegal value
> 0:  the algorithm has failed to find all the eigenvalues in
a total of 30*N iterations; if INFO = i, then i
elements of E have not converged to zero; on exit, D
and E contain the elements of a symmetric tridiagonal
matrix which is orthogonally similar to the original
matrix.```
Author

Univ. of Tennessee

Univ. of California Berkeley

NAG Ltd.

Definition at line 130 of file ssteqr.f.

### subroutine zsteqr (character compz, integer n, double precision, dimension( * ) d, double precision, dimension( * ) e, complex*16, dimension( ldz, * ) z, integer ldz, double precision, dimension( * ) work, integer info)

ZSTEQR

Purpose:

``` ZSTEQR computes all eigenvalues and, optionally, eigenvectors of a
symmetric tridiagonal matrix using the implicit QL or QR method.
The eigenvectors of a full or band complex Hermitian matrix can also
be found if ZHETRD or ZHPTRD or ZHBTRD has been used to reduce this
matrix to tridiagonal form.```
Parameters

COMPZ

```          COMPZ is CHARACTER*1
= 'N':  Compute eigenvalues only.
= 'V':  Compute eigenvalues and eigenvectors of the original
Hermitian matrix.  On entry, Z must contain the
unitary matrix used to reduce the original matrix
to tridiagonal form.
= 'I':  Compute eigenvalues and eigenvectors of the
tridiagonal matrix.  Z is initialized to the identity
matrix.```

N

```          N is INTEGER
The order of the matrix.  N >= 0.```

D

```          D is DOUBLE PRECISION array, dimension (N)
On entry, the diagonal elements of the tridiagonal matrix.
On exit, if INFO = 0, the eigenvalues in ascending order.```

E

```          E is DOUBLE PRECISION array, dimension (N-1)
On entry, the (n-1) subdiagonal elements of the tridiagonal
matrix.
On exit, E has been destroyed.```

Z

```          Z is COMPLEX*16 array, dimension (LDZ, N)
On entry, if  COMPZ = 'V', then Z contains the unitary
matrix used in the reduction to tridiagonal form.
On exit, if INFO = 0, then if COMPZ = 'V', Z contains the
orthonormal eigenvectors of the original Hermitian matrix,
and if COMPZ = 'I', Z contains the orthonormal eigenvectors
of the symmetric tridiagonal matrix.
If COMPZ = 'N', then Z is not referenced.```

LDZ

```          LDZ is INTEGER
The leading dimension of the array Z.  LDZ >= 1, and if
eigenvectors are desired, then  LDZ >= max(1,N).```

WORK

```          WORK is DOUBLE PRECISION array, dimension (max(1,2*N-2))
If COMPZ = 'N', then WORK is not referenced.```

INFO

```          INFO is INTEGER
= 0:  successful exit
< 0:  if INFO = -i, the i-th argument had an illegal value
> 0:  the algorithm has failed to find all the eigenvalues in
a total of 30*N iterations; if INFO = i, then i
elements of E have not converged to zero; on exit, D
and E contain the elements of a symmetric tridiagonal
matrix which is unitarily similar to the original
matrix.```
Author

Univ. of Tennessee

Univ. of California Berkeley