syrfs#

Functions

void ssyrfs(
    const char*          uplo,
    const INT            n,
    const INT            nrhs,
    const f32*  restrict A,
    const INT            lda,
    const f32*  restrict AF,
    const INT            ldaf,
    const INT*  restrict ipiv,
    const f32*  restrict B,
    const INT            ldb,
          f32*  restrict X,
    const INT            ldx,
          f32*  restrict ferr,
          f32*  restrict berr,
          f32*  restrict work,
          INT*  restrict iwork,
          INT*           info
);
void ssyrfs(const char *uplo, const INT n, const INT nrhs, const f32 *restrict A, const INT lda, const f32 *restrict AF, const INT ldaf, const INT *restrict ipiv, const f32 *restrict B, const INT ldb, f32 *restrict X, const INT ldx, f32 *restrict ferr, f32 *restrict berr, f32 *restrict work, INT *restrict iwork, INT *info)#

SSYRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric indefinite, and provides error bounds and backward error estimates for the solution.

Parameters

in
uplo

= ‘U’: Upper triangle of A is stored = ‘L’: Lower triangle of A is stored

in
n

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

in
nrhs

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

in
A

The symmetric matrix A. If uplo = ‘U’, the leading N-by-N upper triangular part contains the upper triangular part of A. If uplo = ‘L’, the leading N-by-N lower triangular part contains the lower triangular part of A. Double precision array, dimension (lda, n).

in
lda

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

in
AF

The factored form of the matrix A. AF contains the block diagonal matrix D and the multipliers used to obtain the factor U or L from the factorization A = U*D*U**T or A = L*D*L**T as computed by SSYTRF. Double precision array, dimension (ldaf, n).

in
ldaf

The leading dimension of the array AF. ldaf >= max(1, n).

in
ipiv

Details of the interchanges and the block structure of D as determined by SSYTRF. Integer array, dimension (n).

in
B

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

in
ldb

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

inout
X

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

in
ldx

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

out
ferr

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

out
berr

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

out
work

Double precision array, dimension (3*n).

out
iwork

Integer array, dimension (n).

out
info

  • = 0: successful exit

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

Functions

void dsyrfs(
    const char*          uplo,
    const INT            n,
    const INT            nrhs,
    const f64*  restrict A,
    const INT            lda,
    const f64*  restrict AF,
    const INT            ldaf,
    const INT*  restrict ipiv,
    const f64*  restrict B,
    const INT            ldb,
          f64*  restrict X,
    const INT            ldx,
          f64*  restrict ferr,
          f64*  restrict berr,
          f64*  restrict work,
          INT*  restrict iwork,
          INT*           info
);
void dsyrfs(const char *uplo, const INT n, const INT nrhs, const f64 *restrict A, const INT lda, const f64 *restrict AF, const INT ldaf, const INT *restrict ipiv, const f64 *restrict B, const INT ldb, f64 *restrict X, const INT ldx, f64 *restrict ferr, f64 *restrict berr, f64 *restrict work, INT *restrict iwork, INT *info)#

DSYRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric indefinite, and provides error bounds and backward error estimates for the solution.

Parameters

in
uplo

= ‘U’: Upper triangle of A is stored = ‘L’: Lower triangle of A is stored

in
n

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

in
nrhs

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

in
A

The symmetric matrix A. If uplo = ‘U’, the leading N-by-N upper triangular part contains the upper triangular part of A. If uplo = ‘L’, the leading N-by-N lower triangular part contains the lower triangular part of A. Double precision array, dimension (lda, n).

in
lda

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

in
AF

The factored form of the matrix A. AF contains the block diagonal matrix D and the multipliers used to obtain the factor U or L from the factorization A = U*D*U**T or A = L*D*L**T as computed by DSYTRF. Double precision array, dimension (ldaf, n).

in
ldaf

The leading dimension of the array AF. ldaf >= max(1, n).

in
ipiv

Details of the interchanges and the block structure of D as determined by DSYTRF. Integer array, dimension (n).

in
B

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

in
ldb

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

inout
X

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

in
ldx

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

out
ferr

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

out
berr

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

out
work

Double precision array, dimension (3*n).

out
iwork

Integer array, dimension (n).

out
info

  • = 0: successful exit

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

Functions

void csyrfs(
    const char*          uplo,
    const INT            n,
    const INT            nrhs,
    const c64*  restrict A,
    const INT            lda,
    const c64*  restrict AF,
    const INT            ldaf,
    const INT*  restrict ipiv,
    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 csyrfs(const char *uplo, const INT n, const INT nrhs, const c64 *restrict A, const INT lda, const c64 *restrict AF, const INT ldaf, const INT *restrict ipiv, 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)#

CSYRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric indefinite, and provides error bounds and backward error estimates for the solution.

Parameters

in
uplo

= ‘U’: Upper triangle of A is stored = ‘L’: Lower triangle of A is stored

in
n

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

in
nrhs

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

in
A

The symmetric matrix A. If uplo = ‘U’, the leading N-by-N upper triangular part contains the upper triangular part of A. If uplo = ‘L’, the leading N-by-N lower triangular part contains the lower triangular part of A. Complex array, dimension (lda, n).

in
lda

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

in
AF

The factored form of the matrix A. AF contains the block diagonal matrix D and the multipliers used to obtain the factor U or L from the factorization A = U*D*U**T or A = L*D*L**T as computed by CSYTRF. Complex array, dimension (ldaf, n).

in
ldaf

The leading dimension of the array AF. ldaf >= max(1, n).

in
ipiv

Details of the interchanges and the block structure of D as determined by CSYTRF. Integer array, dimension (n).

in
B

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

in
ldb

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

inout
X

On entry, the solution matrix X, as computed by CSYTRS. On exit, the improved solution matrix X. Complex array, dimension (ldx, nrhs).

in
ldx

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

out
ferr

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

out
berr

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

out
work

Complex workspace array, dimension (2*n).

out
rwork

Real workspace array, dimension (n).

out
info

  • = 0: successful exit

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

Functions

void zsyrfs(
    const char*          uplo,
    const INT            n,
    const INT            nrhs,
    const c128* restrict A,
    const INT            lda,
    const c128* restrict AF,
    const INT            ldaf,
    const INT*  restrict ipiv,
    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 zsyrfs(const char *uplo, const INT n, const INT nrhs, const c128 *restrict A, const INT lda, const c128 *restrict AF, const INT ldaf, const INT *restrict ipiv, 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)#

ZSYRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric indefinite, and provides error bounds and backward error estimates for the solution.

Parameters

in
uplo

= ‘U’: Upper triangle of A is stored = ‘L’: Lower triangle of A is stored

in
n

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

in
nrhs

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

in
A

The symmetric matrix A. If uplo = ‘U’, the leading N-by-N upper triangular part contains the upper triangular part of A. If uplo = ‘L’, the leading N-by-N lower triangular part contains the lower triangular part of A. Complex array, dimension (lda, n).

in
lda

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

in
AF

The factored form of the matrix A. AF contains the block diagonal matrix D and the multipliers used to obtain the factor U or L from the factorization A = U*D*U**T or A = L*D*L**T as computed by ZSYTRF. Complex array, dimension (ldaf, n).

in
ldaf

The leading dimension of the array AF. ldaf >= max(1, n).

in
ipiv

Details of the interchanges and the block structure of D as determined by ZSYTRF. Integer array, dimension (n).

in
B

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

in
ldb

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

inout
X

On entry, the solution matrix X, as computed by ZSYTRS. On exit, the improved solution matrix X. Complex array, dimension (ldx, nrhs).

in
ldx

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

out
ferr

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

out
berr

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

out
work

Complex workspace array, dimension (2*n).

out
rwork

Real workspace array, dimension (n).

out
info

  • = 0: successful exit

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