Contents
sptrfs - improve the computed solution to a system of linear
equations when the coefficient matrix is symmetric positive
definite and tridiagonal, and provides error bounds and
backward error estimates for the solution
SUBROUTINE SPTRFS(N, NRHS, D, E, DF, EF, B, LDB, X, LDX,
FERR, BERR, WORK, INFO)
INTEGER N, NRHS, LDB, LDX, INFO
REAL D(*), E(*), DF(*), EF(*), B(LDB,*), X(LDX,*), FERR(*),
BERR(*), WORK(*)
SUBROUTINE SPTRFS_64(N, NRHS, D, E, DF, EF, B, LDB, X,
LDX, FERR, BERR, WORK, INFO)
INTEGER*8 N, NRHS, LDB, LDX, INFO
REAL D(*), E(*), DF(*), EF(*), B(LDB,*), X(LDX,*), FERR(*),
BERR(*), WORK(*)
F95 INTERFACE
SUBROUTINE PTRFS([N], [NRHS], D, E, DF, EF, B, [LDB], X,
[LDX], FERR, BERR, [WORK], [INFO])
INTEGER :: N, NRHS, LDB, LDX, INFO
REAL, DIMENSION(:) :: D, E, DF, EF, FERR, BERR, WORK
REAL, DIMENSION(:,:) :: B, X
SUBROUTINE PTRFS_64([N], [NRHS], D, E, DF, EF, B, [LDB],
X, [LDX], FERR, BERR, [WORK], [INFO])
INTEGER(8) :: N, NRHS, LDB, LDX, INFO
REAL, DIMENSION(:) :: D, E, DF, EF, FERR, BERR, WORK
REAL, DIMENSION(:,:) :: B, X
C INTERFACE
#include <sunperf.h>
void sptrfs(int n, int nrhs, float *d, float *e, float *df,
float *ef, float *b, int ldb, float *x, int ldx,
float *ferr, float *berr, int *info);
void sptrfs_64(long n, long nrhs, float *d, float *e, float
*df, float *ef, float *b, long ldb, float *x, long
ldx, float *ferr, float *berr, long *info);
sptrfs improves the computed solution to a system of linear
equations when the coefficient matrix is symmetric positive
definite and tridiagonal, and provides error bounds and
backward error estimates for the solution.
N (input) The order of the matrix A. N >= 0.
NRHS (input)
The number of right hand sides, i.e., the number
of columns of the matrix B. NRHS >= 0.
D (input) The n diagonal elements of the tridiagonal matrix
A.
E (input) The (n-1) subdiagonal elements of the tridiagonal
matrix A.
DF (input)
The n diagonal elements of the diagonal matrix D
from the factorization computed by SPTTRF.
EF (input)
The (n-1) subdiagonal elements of the unit bidiag-
onal factor L from the factorization computed by
SPTTRF.
B (input) The right hand side matrix B.
LDB (input)
The leading dimension of the array B. LDB >=
max(1,N).
X (input/output)
On entry, the solution matrix X, as computed by
SPTTRS. On exit, the improved solution matrix X.
LDX (input)
The leading dimension of the array X. LDX >=
max(1,N).
FERR (output)
The forward error bound for each solution vector
X(j) (the j-th column of the solution matrix X).
If XTRUE is the true solution corresponding to
X(j), FERR(j) is an estimated upper bound for the
magnitude of the largest element in (X(j) - XTRUE)
divided by the magnitude of the largest element in
X(j).
BERR (output)
The componentwise relative backward error of each
solution vector X(j) (i.e., the smallest relative
change in any element of A or B that makes X(j) an
exact solution).
WORK (workspace)
dimension(2*N)
INFO (output)
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an ille-
gal value