Contents
dptrfs - 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 DPTRFS(N, NRHS, D, E, DF, EF, B, LDB, X, LDX,
FERR, BERR, WORK, INFO)
INTEGER N, NRHS, LDB, LDX, INFO
DOUBLE PRECISION D(*), E(*), DF(*), EF(*), B(LDB,*),
X(LDX,*), FERR(*), BERR(*), WORK(*)
SUBROUTINE DPTRFS_64(N, NRHS, D, E, DF, EF, B, LDB, X,
LDX, FERR, BERR, WORK, INFO)
INTEGER*8 N, NRHS, LDB, LDX, INFO
DOUBLE PRECISION 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(8), DIMENSION(:) :: D, E, DF, EF, FERR, BERR, WORK
REAL(8), 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(8), DIMENSION(:) :: D, E, DF, EF, FERR, BERR, WORK
REAL(8), DIMENSION(:,:) :: B, X
C INTERFACE
#include <sunperf.h>
void dptrfs(int n, int nrhs, double *d, double *e, double
*df, double *ef, double *b, int ldb, double *x,
int ldx, double *ferr, double *berr, int *info);
void dptrfs_64(long n, long nrhs, double *d, double *e, dou-
ble *df, double *ef, double *b, long ldb, double
*x, long ldx, double *ferr, double *berr, long
*info);
dptrfs 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 DPTTRF.
EF (input)
The (n-1) subdiagonal elements of the unit bidiag-
onal factor L from the factorization computed by
DPTTRF.
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
DPTTRS. 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