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
);
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

in
n

The order of the matrix A. n >= 0.

in
nrhs

The number of right hand sides, i.e., the number of columns of the matrix B. nrhs >= 0.

in
D

Double precision array, dimension (n). The n diagonal elements of the tridiagonal matrix A.

in
E

Double precision array, dimension (n-1). The (n-1) subdiagonal elements of the tridiagonal matrix A.

in
DF

Double precision array, dimension (n). The n diagonal elements of the diagonal matrix D from the factorization computed by SPTTRF.

in
EF

Double precision array, dimension (n-1). The (n-1) subdiagonal elements of the unit bidiagonal factor L from the factorization computed by SPTTRF.

in
B

Double precision array, dimension (ldb, nrhs). The right hand side matrix B.

in
ldb

The leading dimension of the array B. ldb >= max(1,n).

inout
X

Double precision array, dimension (ldx, nrhs). On entry, the solution matrix X, as computed by SPTTRS. On exit, the improved solution matrix X.

in
ldx

The leading dimension of the array X. ldx >= max(1,n).

out
ferr

Double precision array, dimension (nrhs). The forward error bound for each solution vector X(j).

out
berr

Double precision array, dimension (nrhs). The componentwise relative backward error of each solution vector X(j).

out
work

Double precision array, dimension (2*n).

out
info

  • = 0: successful exit

  • < 0: if info = -i, the i-th argument had an illegal value

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
);
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

in
n

The order of the matrix A. n >= 0.

in
nrhs

The number of right hand sides, i.e., the number of columns of the matrix B. nrhs >= 0.

in
D

Double precision array, dimension (n). The n diagonal elements of the tridiagonal matrix A.

in
E

Double precision array, dimension (n-1). The (n-1) subdiagonal elements of the tridiagonal matrix A.

in
DF

Double precision array, dimension (n). The n diagonal elements of the diagonal matrix D from the factorization computed by DPTTRF.

in
EF

Double precision array, dimension (n-1). The (n-1) subdiagonal elements of the unit bidiagonal factor L from the factorization computed by DPTTRF.

in
B

Double precision array, dimension (ldb, nrhs). The right hand side matrix B.

in
ldb

The leading dimension of the array B. ldb >= max(1,n).

inout
X

Double precision array, dimension (ldx, nrhs). On entry, the solution matrix X, as computed by DPTTRS. On exit, the improved solution matrix X.

in
ldx

The leading dimension of the array X. ldx >= max(1,n).

out
ferr

Double precision array, dimension (nrhs). The forward error bound for each solution vector X(j).

out
berr

Double precision array, dimension (nrhs). The componentwise relative backward error of each solution vector X(j).

out
work

Double precision array, dimension (2*n).

out
info

  • = 0: successful exit

  • < 0: if info = -i, the i-th argument had an illegal value

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
);
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

in
uplo

Specifies whether the superdiagonal or the subdiagonal of the tridiagonal matrix A is stored and the form of the factorization: = ‘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.

in
n

The order of the matrix A. n >= 0.

in
nrhs

The number of right hand sides, i.e., the number of columns of the matrix B. nrhs >= 0.

in
D

Single precision array, dimension (n). The n real diagonal elements of the tridiagonal matrix A.

in
E

Single complex array, dimension (n-1). The (n-1) off-diagonal elements of the tridiagonal matrix A (see UPLO).

in
DF

Single precision array, dimension (n). The n diagonal elements of the diagonal matrix D from the factorization computed by CPTTRF.

in
EF

Single complex array, dimension (n-1). The (n-1) off-diagonal elements of the unit bidiagonal factor U or L from the factorization computed by CPTTRF (see UPLO).

in
B

Single complex array, dimension (ldb, nrhs). The right hand side matrix B.

in
ldb

The leading dimension of the array B. ldb >= max(1,n).

inout
X

Single complex array, dimension (ldx, nrhs). On entry, the solution matrix X, as computed by CPTTRS. On exit, the improved solution matrix X.

in
ldx

The leading dimension of the array X. ldx >= max(1,n).

out
ferr

Single precision array, dimension (nrhs). The forward error bound for each solution vector X(j).

out
berr

Single precision array, dimension (nrhs). The componentwise relative backward error of each solution vector X(j).

out
work

Single complex array, dimension (n).

out
rwork

Single precision array, dimension (n).

out
info

  • = 0: successful exit

  • < 0: if info = -i, the i-th argument had an illegal value

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
);
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

in
uplo

Specifies whether the superdiagonal or the subdiagonal of the tridiagonal matrix A is stored and the form of the factorization: = ‘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.

in
n

The order of the matrix A. n >= 0.

in
nrhs

The number of right hand sides, i.e., the number of columns of the matrix B. nrhs >= 0.

in
D

Double precision array, dimension (n). The n real diagonal elements of the tridiagonal matrix A.

in
E

Double complex array, dimension (n-1). The (n-1) off-diagonal elements of the tridiagonal matrix A (see UPLO).

in
DF

Double precision array, dimension (n). The n diagonal elements of the diagonal matrix D from the factorization computed by ZPTTRF.

in
EF

Double complex array, dimension (n-1). The (n-1) off-diagonal elements of the unit bidiagonal factor U or L from the factorization computed by ZPTTRF (see UPLO).

in
B

Double complex array, dimension (ldb, nrhs). The right hand side matrix B.

in
ldb

The leading dimension of the array B. ldb >= max(1,n).

inout
X

Double complex array, dimension (ldx, nrhs). On entry, the solution matrix X, as computed by ZPTTRS. On exit, the improved solution matrix X.

in
ldx

The leading dimension of the array X. ldx >= max(1,n).

out
ferr

Double precision array, dimension (nrhs). The forward error bound for each solution vector X(j).

out
berr

Double precision array, dimension (nrhs). The componentwise relative backward error of each solution vector X(j).

out
work

Double complex array, dimension (n).

out
rwork

Double precision array, dimension (n).

out
info

  • = 0: successful exit

  • < 0: if info = -i, the i-th argument had an illegal value