ptrfs#
Functions
-
void sptrfs(const INT n, const INT nrhs, const f32 *restrict D, const f32 *restrict E, const f32 *restrict DF, const f32 *restrict EF, const f32 *restrict B, const INT ldb, f32 *restrict X, const INT ldx, f32 *restrict ferr, f32 *restrict berr, f32 *restrict work, INT *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.
Parameters
innThe order of the matrix A.
n>=0.innrhsThe number of right hand sides, i.e., the number of columns of the matrix B.
nrhs>=0.inDArray of dimension
n. The n diagonal elements of the tridiagonal matrix A.inEArray of dimension
n-1. The (n-1) subdiagonal elements of the tridiagonal matrix A.inDFArray of dimension
n. The n diagonal elements of the diagonal matrix D from the factorization computed byspttrf.inEFArray of dimension
n-1. The (n-1) subdiagonal elements of the unit bidiagonal factor L from the factorization computed byspttrf.inBArray of dimension
(ldb,nrhs). The right hand side matrix B.inldbThe leading dimension of the array B.
ldb>=max(1,n).inoutXArray of dimension
(ldx,nrhs). On entry, the solution matrix X, as computed byspttrs. On exit, the improved solution matrix X.inldxThe leading dimension of the array X.
ldx>=max(1,n).outferrArray of dimension
nrhs. The forward error bound for each solution vector X(j).outberrArray of dimension
nrhs. The componentwise relative backward error of each solution vector X(j).outworkArray of dimension
2*n.outinfoinfo=0: successful exitinfo<0: ifinfo=-i, the i-th argument had an illegal value
void sptrfs(
const INT n,
const INT nrhs,
const f32* restrict D,
const f32* restrict E,
const f32* restrict DF,
const f32* restrict EF,
const f32* restrict B,
const INT ldb,
f32* restrict X,
const INT ldx,
f32* restrict ferr,
f32* restrict berr,
f32* restrict work,
INT* info
);
Functions
-
void dptrfs(const INT n, const INT nrhs, const f64 *restrict D, const f64 *restrict E, const f64 *restrict DF, const f64 *restrict EF, const f64 *restrict B, const INT ldb, f64 *restrict X, const INT ldx, f64 *restrict ferr, f64 *restrict berr, f64 *restrict work, INT *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.
Parameters
innThe order of the matrix A.
n>=0.innrhsThe number of right hand sides, i.e., the number of columns of the matrix B.
nrhs>=0.inDArray of dimension
n. The n diagonal elements of the tridiagonal matrix A.inEArray of dimension
n-1. The (n-1) subdiagonal elements of the tridiagonal matrix A.inDFArray of dimension
n. The n diagonal elements of the diagonal matrix D from the factorization computed bydpttrf.inEFArray of dimension
n-1. The (n-1) subdiagonal elements of the unit bidiagonal factor L from the factorization computed bydpttrf.inBArray of dimension
(ldb,nrhs). The right hand side matrix B.inldbThe leading dimension of the array B.
ldb>=max(1,n).inoutXArray of dimension
(ldx,nrhs). On entry, the solution matrix X, as computed bydpttrs. On exit, the improved solution matrix X.inldxThe leading dimension of the array X.
ldx>=max(1,n).outferrArray of dimension
nrhs. The forward error bound for each solution vector X(j).outberrArray of dimension
nrhs. The componentwise relative backward error of each solution vector X(j).outworkArray of dimension
2*n.outinfoinfo=0: successful exitinfo<0: ifinfo=-i, the i-th argument had an illegal value
void dptrfs(
const INT n,
const INT nrhs,
const f64* restrict D,
const f64* restrict E,
const f64* restrict DF,
const f64* restrict EF,
const f64* restrict B,
const INT ldb,
f64* restrict X,
const INT ldx,
f64* restrict ferr,
f64* restrict berr,
f64* restrict work,
INT* info
);
Functions
-
void cptrfs(const char *uplo, const INT n, const INT nrhs, const f32 *restrict D, const c64 *restrict E, const f32 *restrict DF, const c64 *restrict EF, const c64 *restrict B, const INT ldb, c64 *restrict X, const INT ldx, f32 *restrict ferr, f32 *restrict berr, c64 *restrict work, f32 *restrict rwork, INT *info)#
CPTRFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian positive definite and tridiagonal, and provides error bounds and backward error estimates for the solution.
Parameters
inuplo'U': E is the superdiagonal of A, and A = U**H*D*U'L': E is the subdiagonal of A, and A = L*D*L**H
innThe order of the matrix A.
n>=0.innrhsThe number of right hand sides, i.e., the number of columns of the matrix B.
nrhs>=0.inDArray of dimension
n. The n real diagonal elements of the tridiagonal matrix A.inEComplex array of dimension
n-1. The (n-1) off-diagonal elements of the tridiagonal matrix A (seeuplo).inDFArray of dimension
n. The n diagonal elements of the diagonal matrix D from the factorization computed bycpttrf.inEFComplex array of dimension
n-1. The (n-1) off-diagonal elements of the unit bidiagonal factor U or L from the factorization computed bycpttrf(seeuplo).inBComplex array of dimension
(ldb,nrhs). The right hand side matrix B.inldbThe leading dimension of the array B.
ldb>=max(1,n).inoutXComplex array of dimension
(ldx,nrhs). On entry, the solution matrix X, as computed bycpttrs. On exit, the improved solution matrix X.inldxThe leading dimension of the array X.
ldx>=max(1,n).outferrArray of dimension
nrhs. The forward error bound for each solution vector X(j).outberrArray of dimension
nrhs. The componentwise relative backward error of each solution vector X(j).outworkComplex array of dimension
n.outrworkArray of dimension
n.outinfoinfo=0: successful exitinfo<0: ifinfo=-i, the i-th argument had an illegal value
void cptrfs(
const char* uplo,
const INT n,
const INT nrhs,
const f32* restrict D,
const c64* restrict E,
const f32* restrict DF,
const c64* restrict EF,
const c64* restrict B,
const INT ldb,
c64* restrict X,
const INT ldx,
f32* restrict ferr,
f32* restrict berr,
c64* restrict work,
f32* restrict rwork,
INT* info
);
Functions
-
void zptrfs(const char *uplo, const INT n, const INT nrhs, const f64 *restrict D, const c128 *restrict E, const f64 *restrict DF, const c128 *restrict EF, const c128 *restrict B, const INT ldb, c128 *restrict X, const INT ldx, f64 *restrict ferr, f64 *restrict berr, c128 *restrict work, f64 *restrict rwork, INT *info)#
ZPTRFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian positive definite and tridiagonal, and provides error bounds and backward error estimates for the solution.
Parameters
inuplo'U': E is the superdiagonal of A, and A = U**H*D*U'L': E is the subdiagonal of A, and A = L*D*L**H
innThe order of the matrix A.
n>=0.innrhsThe number of right hand sides, i.e., the number of columns of the matrix B.
nrhs>=0.inDArray of dimension
n. The n real diagonal elements of the tridiagonal matrix A.inEComplex array of dimension
n-1. The (n-1) off-diagonal elements of the tridiagonal matrix A (seeuplo).inDFArray of dimension
n. The n diagonal elements of the diagonal matrix D from the factorization computed byzpttrf.inEFComplex array of dimension
n-1. The (n-1) off-diagonal elements of the unit bidiagonal factor U or L from the factorization computed byzpttrf(seeuplo).inBComplex array of dimension
(ldb,nrhs). The right hand side matrix B.inldbThe leading dimension of the array B.
ldb>=max(1,n).inoutXComplex array of dimension
(ldx,nrhs). On entry, the solution matrix X, as computed byzpttrs. On exit, the improved solution matrix X.inldxThe leading dimension of the array X.
ldx>=max(1,n).outferrArray of dimension
nrhs. The forward error bound for each solution vector X(j).outberrArray of dimension
nrhs. The componentwise relative backward error of each solution vector X(j).outworkComplex array of dimension
n.outrworkArray of dimension
n.outinfoinfo=0: successful exitinfo<0: ifinfo=-i, the i-th argument had an illegal value
void zptrfs(
const char* uplo,
const INT n,
const INT nrhs,
const f64* restrict D,
const c128* restrict E,
const f64* restrict DF,
const c128* restrict EF,
const c128* restrict B,
const INT ldb,
c128* restrict X,
const INT ldx,
f64* restrict ferr,
f64* restrict berr,
c128* restrict work,
f64* restrict rwork,
INT* info
);