The LA_TRIRED procedure reduces a real symmetric or complex Hermitian array to real tridiagonal form *T*. If the array is real symmetric then the decomposition is *A* = *Q T Q*^{T}, where *Q* is orthogonal. If the array is complex Hermitian then the decomposition is *A* = *Q T Q*^{H}, where *Q* is unitary. The superscript *T *represents the transpose while superscript *H *represents the Hermitian, or transpose complex conjugate.

LA_TRIRED is based on the following LAPACK routines:

Output Type |
LAPACK Routine |

Float |
ssytrd, sorgtr |

Double |
dsytrd, dorgtr |

Complex |
chetrd, cungtr |

Double complex |
zhetrd, zungtr |

## Examples

See LA_TRIQL for an example of using this procedure.

## Syntax

LA_TRIRED, *Array*, *D*, *E* [, /DOUBLE] [, /UPPER]

## Arguments

### Array

A named variable containing the real or complex array to decompose. Only the lower triangular portion of *Array* is used (or upper if the /UPPER keyword is set). This procedure returns *Array* as the real orthogonal (or complex unitary) *Q* array used to reduce the original array to tridiagonal form.

### D

An *n*-element output vector containing the real diagonal elements of the tridiagonal array. Note that *D* is always real.

### E

An (*n* - 1) element output vector containing the real subdiagonal elements of the tridiagonal array. Note that *E* is always real.

## Keywords

### DOUBLE

Set this keyword to use double-precision for computations and to return a double-precision (real) result. Set DOUBLE = 0 to use single-precision for computations and to return a single-precision (real) result. The default is /DOUBLE if *Array* is double precision, otherwise the default is DOUBLE = 0.

### UPPER

If this keyword is set, then only the upper triangular portion of *Array* is used, and the upper triangular array is returned. The default is to use the lower triangular portion and return the lower triangular array.

## Version History

5.6 |
Introduced |

## Resources and References

For details see Anderson et al., *LAPACK Users' Guide*, 3rd ed., SIAM, 1999.