dsttrs(3P)
NAME
dsttrs - computes the solution to a double precision system of linear equations A ∗ X = B
SYNOPSIS
SUBROUTINE DSTTRS(N, NRHS, L, D, SUBL, B, LDB, IPIV, INFO )
INTEGER N, NRHS, LDB, IPIV( ∗ ), INFO
DOUBLE PRECISION D( ∗ ), L( ∗ ), SUBL( ∗ ), B( ∗ )
#include <sunperf.h>
void dsttrs(int n, int nrhs, double ∗l, double ∗d, double ∗subl, double ∗b, int ldb, int ∗ipiv, int ∗info) ;
PURPOSE
DSTTRS computes the solution to a double precision system of linear equations A ∗ X = B, where A is an N-by-N symmetric tridiagonal matrix and X and B are N-by-NRHS matrices.
ARGUMENTS
N (input) INTEGER
The order of the matrix A. N >= 0.
NRHS (input) INTEGER
The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
L (input) DOUBLE PRECISION array, dimension (N-1)
On entry, the subdiagonal elements of LL and DD.
D (input) DOUBLE PRECISION array, dimension (N)
On entry, the diagonal elements of DD.
SUBL (input) DOUBLE PRECISION array, dimension (N-2)
On entry, the second subdiagonal elements of LL.
B (input/output) DOUBLE PRECISION array, dimension
(LDB, NRHS) On entry, the N-by-NRHS right hand side matrix B. On exit, if INFO = 0, the N-by-NRHS solution matrix X.
LDB (input) INTEGER
The leading dimension of the array B. LDB >= max(1, N)
IPIV (output) INTEGER array, dimension (N)
Details of the interchanges and block pivot. If IPIV(K) > 0, 1 by 1 pivot, and if IPIV(K) = K + 1 an interchange done; If IPIV(K) < 0, 2 by 2 pivot, no interchange required.
INFO (output) INTEGER
= 0: successful exit
< 0: if INFO = -k, the k-th argument had an illegal value
SunOS 5.0 — Last change: 10 Dec 1998