Welcome to the Harris Geospatial product documentation center. Here you will find reference guides, help documents, and product libraries.


TRIQL

TRIQL

The TRIQL procedure uses the QL algorithm with implicit shifts to determine the eigenvalues and eigenvectors of a real, symmetric, tridiagonal array. The routine TRIRED can be used to reduce a real, symmetric array to the tridiagonal form suitable for input to this procedure.

Note: If you are working with complex inputs, use the LA_TRIQL procedure instead.

Examples


To compute eigenvalues and eigenvectors of a real, symmetric, tridiagonal array, begin with an array A representing a symmetric array:

; Create the array A:
A = [[ 3.0,  1.0, -4.0], $
    [ 1.0,  3.0, -4.0], $
    [-4.0, -4.0,  8.0]]
; Compute the tridiagonal form of A:
TRIRED, A, D, E
; Compute the eigenvalues (returned in vector D) and the
; eigenvectors (returned in the rows of the array A):
TRIQL, D, E, A
; Print eigenvalues:
PRINT, 'Eigenvalues:'
PRINT, D
; Print eigenvectors:
PRINT, 'Eigenvectors:'
PRINT, A

IDL prints:

Eigenvalues:
  2.00000  4.76837e-7  12.0000
 
Eigenvectors:
  0.707107  -0.707107   0.00000
 -0.577350  -0.577350  -0.577350
 -0.408248  -0.408248   0.816497

The exact eigenvalues are:

  [2.0, 0.0, 12.0]

The exact eigenvectors are:

 [ 1.0/sqrt(2.0), -1.0/sqrt(2.0), 0.0/sqrt(2.0)],
 [-1.0/sqrt(3.0), -1.0/sqrt(3.0), -1.0/sqrt(3.0)],
 [-1.0/sqrt(6.0), -1.0/sqrt(6.0), 2.0/sqrt(6.0)]

Syntax


TRIQL, D, E, A [, /DOUBLE]

Arguments


D

On input, this argument should be an n-element vector containing the diagonal elements of the array being analyzed. On output, D contains the eigenvalues.

E

An n-element vector containing the off-diagonal elements of the array. E0 is arbitrary. On output, this parameter is destroyed.

A

A named variable that returns the n eigenvectors. If the eigenvectors of a tridiagonal array are desired, A should be input as an identity array. If the eigenvectors of an array that has been reduced by TRIRED are desired, A is input as the array Q output by TRIRED.

Keywords


DOUBLE

Set this keyword to force the computation to be done in double-precision arithmetic.

Version History


4.0

Introduced

Resources and References


TRIQL is based on the routine tqli described in section 11.3 of Numerical Recipes in C: The Art of Scientific Computing (Second Edition), published by Cambridge University Press, and is used by permission.

See Also


EIGENVEC, ELMHES, HQR, LA_TRIQL, TRIRED



© 2017 Exelis Visual Information Solutions, Inc. |  Legal
My Account    |    Buy    |    Contact Us