tbrfs#

Functions

void stbrfs(
    const char*          uplo,
    const char*          trans,
    const char*          diag,
    const INT            n,
    const INT            kd,
    const INT            nrhs,
    const f32*  restrict AB,
    const INT            ldab,
    const f32*  restrict B,
    const INT            ldb,
    const f32*  restrict X,
    const INT            ldx,
          f32*  restrict ferr,
          f32*  restrict berr,
          f32*  restrict work,
          INT*  restrict iwork,
          INT*           info
);
void stbrfs(const char *uplo, const char *trans, const char *diag, const INT n, const INT kd, const INT nrhs, const f32 *restrict AB, const INT ldab, const f32 *restrict B, const INT ldb, const f32 *restrict X, const INT ldx, f32 *restrict ferr, f32 *restrict berr, f32 *restrict work, INT *restrict iwork, INT *info)#

STBRFS provides error bounds and backward error estimates for the solution to a system of linear equations with a triangular band coefficient matrix.

The solution matrix X must be computed by STBTRS or some other means before entering this routine. STBRFS does not do iterative refinement because doing so cannot improve the backward error.

Parameters

in
uplo

= ‘U’: A is upper triangular = ‘L’: A is lower triangular

in
trans

= ‘N’: A * X = B (No transpose) = ‘T’: A**T * X = B (Transpose) = ‘C’: A**H * X = B (Conjugate transpose = Transpose)

in
diag

= ‘N’: A is non-unit triangular = ‘U’: A is unit triangular

in
n

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

in
kd

The number of superdiagonals or subdiagonals. kd >= 0.

in
nrhs

The number of right hand sides. nrhs >= 0.

in
AB

The triangular band matrix A. Array of dimension (ldab, n).

in
ldab

The leading dimension of AB. ldab >= kd+1.

in
B

The right hand side matrix B. Array of dimension (ldb, nrhs).

in
ldb

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

in
X

The solution matrix X. Array of dimension (ldx, nrhs).

in
ldx

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

out
ferr

The forward error bound for each solution vector. Array of dimension (nrhs).

out
berr

The backward error for each solution vector. Array of dimension (nrhs).

out
work

Workspace array of dimension (3*n).

out
iwork

Integer workspace array of dimension (n).

out
info

  • = 0: successful exit

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

Functions

void dtbrfs(
    const char*          uplo,
    const char*          trans,
    const char*          diag,
    const INT            n,
    const INT            kd,
    const INT            nrhs,
    const f64*  restrict AB,
    const INT            ldab,
    const f64*  restrict B,
    const INT            ldb,
    const f64*  restrict X,
    const INT            ldx,
          f64*  restrict ferr,
          f64*  restrict berr,
          f64*  restrict work,
          INT*  restrict iwork,
          INT*           info
);
void dtbrfs(const char *uplo, const char *trans, const char *diag, const INT n, const INT kd, const INT nrhs, const f64 *restrict AB, const INT ldab, const f64 *restrict B, const INT ldb, const f64 *restrict X, const INT ldx, f64 *restrict ferr, f64 *restrict berr, f64 *restrict work, INT *restrict iwork, INT *info)#

DTBRFS provides error bounds and backward error estimates for the solution to a system of linear equations with a triangular band coefficient matrix.

The solution matrix X must be computed by DTBTRS or some other means before entering this routine. DTBRFS does not do iterative refinement because doing so cannot improve the backward error.

Parameters

in
uplo

= ‘U’: A is upper triangular = ‘L’: A is lower triangular

in
trans

= ‘N’: A * X = B (No transpose) = ‘T’: A**T * X = B (Transpose) = ‘C’: A**H * X = B (Conjugate transpose = Transpose)

in
diag

= ‘N’: A is non-unit triangular = ‘U’: A is unit triangular

in
n

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

in
kd

The number of superdiagonals or subdiagonals. kd >= 0.

in
nrhs

The number of right hand sides. nrhs >= 0.

in
AB

The triangular band matrix A. Array of dimension (ldab, n).

in
ldab

The leading dimension of AB. ldab >= kd+1.

in
B

The right hand side matrix B. Array of dimension (ldb, nrhs).

in
ldb

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

in
X

The solution matrix X. Array of dimension (ldx, nrhs).

in
ldx

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

out
ferr

The forward error bound for each solution vector. Array of dimension (nrhs).

out
berr

The backward error for each solution vector. Array of dimension (nrhs).

out
work

Workspace array of dimension (3*n).

out
iwork

Integer workspace array of dimension (n).

out
info

  • = 0: successful exit

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

Functions

void ctbrfs(
    const char*          uplo,
    const char*          trans,
    const char*          diag,
    const INT            n,
    const INT            kd,
    const INT            nrhs,
    const c64*  restrict AB,
    const INT            ldab,
    const c64*  restrict B,
    const INT            ldb,
    const c64*  restrict X,
    const INT            ldx,
          f32*  restrict ferr,
          f32*  restrict berr,
          c64*  restrict work,
          f32*  restrict rwork,
          INT*           info
);
void ctbrfs(const char *uplo, const char *trans, const char *diag, const INT n, const INT kd, const INT nrhs, const c64 *restrict AB, const INT ldab, const c64 *restrict B, const INT ldb, const c64 *restrict X, const INT ldx, f32 *restrict ferr, f32 *restrict berr, c64 *restrict work, f32 *restrict rwork, INT *info)#

CTBRFS provides error bounds and backward error estimates for the solution to a system of linear equations with a triangular band coefficient matrix.

The solution matrix X must be computed by CTBTRS or some other means before entering this routine. CTBRFS does not do iterative refinement because doing so cannot improve the backward error.

Parameters

in
uplo

= ‘U’: A is upper triangular = ‘L’: A is lower triangular

in
trans

= ‘N’: A * X = B (No transpose) = ‘T’: A**T * X = B (Transpose) = ‘C’: A**H * X = B (Conjugate transpose)

in
diag

= ‘N’: A is non-unit triangular = ‘U’: A is unit triangular

in
n

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

in
kd

The number of superdiagonals or subdiagonals. kd >= 0.

in
nrhs

The number of right hand sides. nrhs >= 0.

in
AB

The triangular band matrix A. Array of dimension (ldab, n).

in
ldab

The leading dimension of AB. ldab >= kd+1.

in
B

The right hand side matrix B. Array of dimension (ldb, nrhs).

in
ldb

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

in
X

The solution matrix X. Array of dimension (ldx, nrhs).

in
ldx

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

out
ferr

The forward error bound for each solution vector. Array of dimension (nrhs).

out
berr

The backward error for each solution vector. Array of dimension (nrhs).

out
work

Complex workspace array of dimension (2*n).

out
rwork

Real workspace array of dimension (n).

out
info

  • = 0: successful exit

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

Functions

void ztbrfs(
    const char*          uplo,
    const char*          trans,
    const char*          diag,
    const INT            n,
    const INT            kd,
    const INT            nrhs,
    const c128* restrict AB,
    const INT            ldab,
    const c128* restrict B,
    const INT            ldb,
    const c128* restrict X,
    const INT            ldx,
          f64*  restrict ferr,
          f64*  restrict berr,
          c128* restrict work,
          f64*  restrict rwork,
          INT*           info
);
void ztbrfs(const char *uplo, const char *trans, const char *diag, const INT n, const INT kd, const INT nrhs, const c128 *restrict AB, const INT ldab, const c128 *restrict B, const INT ldb, const c128 *restrict X, const INT ldx, f64 *restrict ferr, f64 *restrict berr, c128 *restrict work, f64 *restrict rwork, INT *info)#

ZTBRFS provides error bounds and backward error estimates for the solution to a system of linear equations with a triangular band coefficient matrix.

The solution matrix X must be computed by ZTBTRS or some other means before entering this routine. ZTBRFS does not do iterative refinement because doing so cannot improve the backward error.

Parameters

in
uplo

= ‘U’: A is upper triangular = ‘L’: A is lower triangular

in
trans

= ‘N’: A * X = B (No transpose) = ‘T’: A**T * X = B (Transpose) = ‘C’: A**H * X = B (Conjugate transpose)

in
diag

= ‘N’: A is non-unit triangular = ‘U’: A is unit triangular

in
n

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

in
kd

The number of superdiagonals or subdiagonals. kd >= 0.

in
nrhs

The number of right hand sides. nrhs >= 0.

in
AB

The triangular band matrix A. Array of dimension (ldab, n).

in
ldab

The leading dimension of AB. ldab >= kd+1.

in
B

The right hand side matrix B. Array of dimension (ldb, nrhs).

in
ldb

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

in
X

The solution matrix X. Array of dimension (ldx, nrhs).

in
ldx

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

out
ferr

The forward error bound for each solution vector. Array of dimension (nrhs).

out
berr

The backward error for each solution vector. Array of dimension (nrhs).

out
work

Complex workspace array of dimension (2*n).

out
rwork

Real workspace array of dimension (n).

out
info

  • = 0: successful exit

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