Engineering and Scientific Subroutine Library for AIX Version 3 Release 3: Guide and Reference
These subroutines solve a tridiagonal system of linear equations using the
factorization of tridiagonal matrix A, stored in tridiagonal storage
mode, produced by SGTF or DGTF, respectively.
Table 110. Data Types
c, d, e, f, b,
x
| Subroutine
|
Short-precision real
| SGTS
|
Long-precision real
| DGTS
|
- Note:
- The input to these solve subroutines must be the output from the
factorization subroutines SGTF and DGTF, respectively.
Fortran
| CALL SGTS | DGTS (n, c, d, e,
f, ipvt, bx)
|
C and C++
| sgts | dgts (n, c, d, e, f,
ipvt, bx);
|
PL/I
| CALL SGTS | DGTS (n, c, d, e,
f, ipvt, bx);
|
- n
- is the order n of tridiagonal matrix A.
Specified as: a fullword integer; n >= 0.
- c
- is the vector c, containing part of the factorization of matrix
A from SGTF or DGTF, respectively, in an array, referred to as
C. Specified as: a one-dimensional array of (at least)
length n, containing numbers of the data type indicated in Table 110.
- d
- is the vector d, containing part of the factorization of matrix
A from SGTF or DGTF, respectively, in an array, referred to as
D. Specified as: a one-dimensional array of (at least)
length n, containing numbers of the data type indicated in Table 110.
- e
- is the vector e, containing part of the factorization of matrix
A from SGTF or DGTF, respectively, in an array, referred to as
E. Specified as: a one-dimensional array of (at least)
length n, containing numbers of the data type indicated in Table 110.
- f
- is the vector f, containing part of the factorization of matrix
A from SGTF or DGTF, respectively, in an array, referred to as
F. Specified as: a one-dimensional array of (at least)
length n, containing numbers of the data type indicated in Table 110.
- ipvt
- is the integer vector ipvt of length n, containing the
pivot information, produced by a preceding call to SGTF and DGTF,
respectively. Specified as: a one-dimensional array of (at least)
length n, containing fullword integers.
- bx
- is the vector b of length n, containing the right-hand
side of the system in the first n positions in an array, referred to
as BX. Specified as: a one-dimensional array of (at
least) length n+1, containing numbers of the data type indicated in Table 110. For details on specifying the length, see Notes.
- bx
- is the solution vector x (at least) of length n,
containing the solution of the tridiagonal system in the first n
positions in an array, referred to as BX. Returned as:
a one-dimensional array, of (at least) length (n+1), containing
numbers of the data type indicated in Table 110. For details about the length, see Notes.
- For a description of how tridiagonal matrices are stored, see General Tridiagonal Matrix.
- Array BX can have a length of n if memory location
BX(n+1) is addressable--that is, not in
read-protected storage. If it is in read-protected storage, array BX
must have a length of n+1. In both cases, the vector
b (on input) and vector x (on output) reside in
positions 1 through n in array BX. Array location
BX(n+1) is not altered by these subroutines.
Given the factorization produced by SGTF or DGTF, respectively, these
subroutines use the standard forward elimination and back substitution to
solve the tridiagonal system Ax = b, where
A is a general tridiagonal matrix. See references [43], [54], [55], and
[90].
None
n < 0
This example solves the tridiagonal system
Ax = b, where matrix A is the same
matrix factored in Example for SGTF and DGTF, and where:
b = (4.0, 6.0, 6.0, 4.0)
x = (1.0, 1.0, 1.0, 1.0)
N C D E F IPVT BX
| | | | | | |
CALL DGTS( 4 , C , D , E , F , IPVT , BX )
C = (same as output C in Example)
D = (same as output D in Example)
E = (same as output E in Example)
F = (same as output F in Example)
IPVT = (same as output IPVT in Example)
BX = (4.0, 6.0, 6.0, 4.0, . )
BX = (1.0, 1.0, 1.0, 1.0, . )
[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]