LA_TRIDC

The LA_TRIDC procedure computes the LU decomposition of a tridiagonal (n x n) array as Array L U, where L is a product of permutation and unit lower bidiagonal arrays, and U is upper triangular with nonzero elements only in the main diagonal and the first two superdiagonals.

LA_TRIDC is based on the following LAPACK routines:

 

Output Type

LAPACK Routine

Float

sgttrf

Double

dgttrf

Complex

cgttrf

Double complex

zgttrf

Examples

The example la_tridc_doc.pro computes the LU decomposition of a tridiagonal array. This example file is installed in the IDL installation’s /examples/doc/language directory. To view the example code, enter .edit la_tridc_doc.pro at the IDL command line. To execute the code, enter la_tridc_doc at the IDL command line.

When this program is compiled and run, IDL prints:

LA_TRIDC error: 1.50427e-008

Syntax

LA_TRIDC, AL, A, AU, U2, Index [, /DOUBLE] [, STATUS=variable]

Arguments

AL

A named vector of length (n - 1) containing the subdiagonal elements of an array. This procedure returns AL as the (n - 1) elements of the lower bidiagonal array from the LU decomposition.

A

A named vector of length n containing the main diagonal elements of an array. This procedure returns A as the n diagonal elements of the upper array from the LU decomposition.

AU

A named vector of length (n - 1) containing the superdiagonal elements of an array. This procedure returns AU as the (n - 1) superdiagonal elements of the upper array.

U2

An output vector that contains the (n - 2) elements of the second superdiagonal of the upper array.

Index

An output vector that records the row permutations which occurred as a result of partial pivoting. For 1 < j < n, row j of the matrix was interchanged with row Index[j].

Note: Row numbers within Index start at one rather than zero.

Keywords

DOUBLE

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

STATUS

Set this keyword to a named variable that will contain the status of the computation. Possible values are:

Note: If STATUS is not specified, any error messages will output to the screen.

Version History

5.6

Introduced

Resources and References

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

See Also

LA_TRIMPROVE, LA_TRISOL