Welcome to the Exelis VIS product documentation center! Here you will find reference guides, help documents, and product libraries. Discover the products ENVI, IDL, ENVI LiDAR, and ESE, developed by Exelis VIS.
﻿

### TRISOL

TRISOL

The TRISOL function solves tridiagonal systems of linear equations that have the form: ATU = R

Note: Because IDL subscripts are in column-row order, the equation above is written ATU = R rather than AU = R. The result U is a vector of length n whose type is identical to A.

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

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

## Example

To solve a tridiagonal linear system, begin with an array representing a real tridiagonal linear system. (Note that only three vectors need be specified; there is no need to enter the entire array shown.)

; Define a vector A containing the sub-diagonal elements with a
A = [0.0, 2.0, 2.0, 2.0]
; Define B containing the main diagonal elements:
B = [-4.0, -4.0, -4.0, -4.0]
; Define C containing the super-diagonal elements with a trailing
; 0.0 element:
C = [1.0, 1.0, 1.0, 0.0]
; Define the right-hand side vector:
R = [6.0, -8.0, -5.0, 8.0]
; Compute the solution and print:
result = TRISOL(A, B, C, R)
PRINT, result

IDL prints:

-1.00000  2.00000  2.00000  -1.00000

The exact solution vector is [-1.0, 2.0, 2.0, -1.0].

## Syntax

Result = TRISOL( A, B, C, R [, /DOUBLE] )

## Return Value

Returns a vector containing the solutions.

## Arguments

### A

A vector of length n containing the n-1 sub-diagonal elements of AT. The first element of A, A0, is ignored.

### B

An n-element vector containing the main diagonal elements of AT.

### C

An n-element vector containing the n-1 super-diagonal elements of AT. The last element of C, Cn-1, is ignored.

### R

An n-element vector containing the right hand side of the linear system ATU = R.

## Keywords

### DOUBLE

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

## Version History

 4 Introduced

﻿