trrfs#

Functions

void strrfs(
    const char*          uplo,
    const char*          trans,
    const char*          diag,
    const INT            n,
    const INT            nrhs,
    const f32*  restrict A,
    const INT            lda,
    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 strrfs(const char *uplo, const char *trans, const char *diag, const INT n, const INT nrhs, const f32 *restrict A, const INT lda, 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)#

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

The solution matrix X must be computed by STRTRS or some other means before entering this routine. STRRFS 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

Specifies the form of the system of equations: = ‘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
nrhs

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

in
A

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

in
lda

The leading dimension of A. lda >= max(1, n).

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 estimated forward error bound for each solution vector. Array of dimension (nrhs).

out
berr

The componentwise relative backward error. 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 = -k, the k-th argument had an illegal value

Functions

void dtrrfs(
    const char*          uplo,
    const char*          trans,
    const char*          diag,
    const INT            n,
    const INT            nrhs,
    const f64*  restrict A,
    const INT            lda,
    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 dtrrfs(const char *uplo, const char *trans, const char *diag, const INT n, const INT nrhs, const f64 *restrict A, const INT lda, 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)#

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

The solution matrix X must be computed by DTRTRS or some other means before entering this routine. DTRRFS 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

Specifies the form of the system of equations: = ‘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
nrhs

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

in
A

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

in
lda

The leading dimension of A. lda >= max(1, n).

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 estimated forward error bound for each solution vector. Array of dimension (nrhs).

out
berr

The componentwise relative backward error. 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 = -k, the k-th argument had an illegal value

Functions

void ctrrfs(
    const char*          uplo,
    const char*          trans,
    const char*          diag,
    const INT            n,
    const INT            nrhs,
    const c64*  restrict A,
    const INT            lda,
    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 ctrrfs(const char *uplo, const char *trans, const char *diag, const INT n, const INT nrhs, const c64 *restrict A, const INT lda, 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)#

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

The solution matrix X must be computed by CTRTRS or some other means before entering this routine. CTRRFS 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

Specifies the form of the system of equations: = ‘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
nrhs

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

in
A

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

in
lda

The leading dimension of A. lda >= max(1, n).

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 estimated forward error bound for each solution vector. Array of dimension (nrhs).

out
berr

The componentwise relative backward error. 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 = -k, the k-th argument had an illegal value

Functions

void ztrrfs(
    const char*          uplo,
    const char*          trans,
    const char*          diag,
    const INT            n,
    const INT            nrhs,
    const c128* restrict A,
    const INT            lda,
    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 ztrrfs(const char *uplo, const char *trans, const char *diag, const INT n, const INT nrhs, const c128 *restrict A, const INT lda, 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)#

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

The solution matrix X must be computed by ZTRTRS or some other means before entering this routine. ZTRRFS 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

Specifies the form of the system of equations: = ‘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
nrhs

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

in
A

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

in
lda

The leading dimension of A. lda >= max(1, n).

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 estimated forward error bound for each solution vector. Array of dimension (nrhs).

out
berr

The componentwise relative backward error. 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 = -k, the k-th argument had an illegal value