herfs(3)

πŸ’… herfs β€” {he,sy}rfs: iterative refinement

okay so bestie, welcome to herfs(3) β€” the Library Functions Manual entry for the Hermitian/symmetric iterative refinement girlies ✨. This is the family of routines that take your kinda-close solution and make it actually close, plus hand you receipts (error bounds) proving it. Iconic behaviour, honestly.

This page is long so it's split into a few parts β€” this is part one, so don't go anywhere, we're just getting started 🫢


✨ SYNOPSIS ✨

🌸 Functions

subroutine cherfs (uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x,
    ldx, ferr, berr, work, rwork, info)
    CHERFS
subroutine csyrfs (uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x,
    ldx, ferr, berr, work, rwork, info)
    CSYRFS
subroutine dsyrfs (uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x,
    ldx, ferr, berr, work, iwork, info)
    DSYRFS
subroutine ssyrfs (uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x,
    ldx, ferr, berr, work, iwork, info)
    SSYRFS
subroutine zherfs (uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x,
    ldx, ferr, berr, work, rwork, info)
    ZHERFS
subroutine zsyrfs (uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x,
    ldx, ferr, berr, work, rwork, info)
    ZSYRFS

πŸ”₯ Detailed Description

πŸ’œ Function Documentation

🧚 cherfs β€” CHERFS

subroutine cherfs (character uplo, integer n, integer nrhs, complex,
    dimension( lda, * ) a, integer lda, complex, dimension( ldaf, * ) af,
    integer ldaf, integer, dimension( * ) ipiv, complex, dimension( ldb, * )
    b, integer ldb, complex, dimension( ldx, * ) x, integer ldx, real,
    dimension( * ) ferr, real, dimension( * ) berr, complex, dimension( * )
    work, real, dimension( * ) rwork, integer info)

CHERFS πŸ’–

πŸŽ€ Purpose

okok so here's the vibe: CHERFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian indefinite, and it also provides error bounds and backward error estimates for the solution. literally the glow-up routine for your answer vector, plus the receipts ✨

🌸 Parameters

  • UPLO β€” UPLO is CHARACTER*1
    • = 'U': Upper triangle of A is stored;
    • = 'L': Lower triangle of A is stored.
  • N β€” N is INTEGER
    • The order of the matrix A. N >= 0.
  • NRHS β€” NRHS is INTEGER
    • The number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >= 0.
  • A β€” A is COMPLEX array, dimension (LDA,N)
    • The Hermitian matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced.
  • LDA β€” LDA is INTEGER
    • The leading dimension of the array A. LDA >= max(1,N).
  • AF β€” AF is COMPLEX array, dimension (LDAF,N)
    • 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**H or A = L*D*L**H as computed by CHETRF.
  • LDAF β€” LDAF is INTEGER
    • The leading dimension of the array AF. LDAF >= max(1,N).
  • IPIV β€” IPIV is INTEGER array, dimension (N)
    • Details of the interchanges and the block structure of D as determined by CHETRF.
  • B β€” B is COMPLEX array, dimension (LDB,NRHS)
    • The right hand side matrix B.
  • LDB β€” LDB is INTEGER
    • The leading dimension of the array B. LDB >= max(1,N).
  • X β€” X is COMPLEX array, dimension (LDX,NRHS)
    • On entry, the solution matrix X, as computed by CHETRS. On exit, the improved solution matrix X. πŸ’… glow-up complete.
  • LDX β€” LDX is INTEGER
    • The leading dimension of the array X. LDX >= max(1,N).
  • FERR β€” FERR is REAL array, dimension (NRHS)
    • The estimated forward error bound for each solution vector X(j) (the j-th column of the solution matrix X). If XTRUE is the true solution corresponding to X(j), FERR(j) is an estimated upper bound for the magnitude of the largest element in (X(j) - XTRUE) divided by the magnitude of the largest element in X(j). The estimate is as reliable as the estimate for RCOND, and is almost always a slight overestimate of the true error.
  • BERR β€” BERR is REAL array, dimension (NRHS)
    • The componentwise relative backward error of each solution vector X(j) (i.e., the smallest relative change in any element of A or B that makes X(j) an exact solution).
  • WORK β€” WORK is COMPLEX array, dimension (2*N)
  • RWORK β€” RWORK is REAL array, dimension (N)
  • INFO β€” INFO is INTEGER
    • = 0: successful exit
    • < 0: if INFO = -i, the i-th argument had an illegal value

⭐ Internal Parameters

  • ITMAX is the maximum number of steps of iterative refinement.

πŸ‘‘ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 190 of file cherfs.f.


πŸ¦‹ csyrfs β€” CSYRFS

subroutine csyrfs (character uplo, integer n, integer nrhs, complex,
    dimension( lda, * ) a, integer lda, complex, dimension( ldaf, * ) af,
    integer ldaf, integer, dimension( * ) ipiv, complex, dimension( ldb, * )
    b, integer ldb, complex, dimension( ldx, * ) x, integer ldx, real,
    dimension( * ) ferr, real, dimension( * ) berr, complex, dimension( * )
    work, real, dimension( * ) rwork, integer info)

CSYRFS πŸ’–

πŸŽ€ Purpose

same energy, slightly different girl: 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

  • UPLO β€” UPLO is CHARACTER*1
    • = 'U': Upper triangle of A is stored;
    • = 'L': Lower triangle of A is stored.
  • N β€” N is INTEGER
    • The order of the matrix A. N >= 0.
  • NRHS β€” NRHS is INTEGER
    • The number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >= 0.
  • A β€” A is COMPLEX array, dimension (LDA,N)
    • The symmetric matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced.
  • LDA β€” LDA is INTEGER
    • The leading dimension of the array A. LDA >= max(1,N).
  • AF β€” AF is COMPLEX array, dimension (LDAF,N)
    • 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.
  • LDAF β€” LDAF is INTEGER
    • The leading dimension of the array AF. LDAF >= max(1,N).
  • IPIV β€” IPIV is INTEGER array, dimension (N)
    • Details of the interchanges and the block structure of D as determined by CSYTRF.
  • B β€” B is COMPLEX array, dimension (LDB,NRHS)
    • The right hand side matrix B.
  • LDB β€” LDB is INTEGER
    • The leading dimension of the array B. LDB >= max(1,N).
  • X β€” X is COMPLEX array, dimension (LDX,NRHS)
    • On entry, the solution matrix X, as computed by CSYTRS. On exit, the improved solution matrix X. πŸ’…
  • LDX β€” LDX is INTEGER
    • The leading dimension of the array X. LDX >= max(1,N).
  • FERR β€” FERR is REAL array, dimension (NRHS)
    • The estimated forward error bound for each solution vector X(j) (the j-th column of the solution matrix X). If XTRUE is the true solution corresponding to X(j), FERR(j) is an estimated upper bound for the magnitude of the largest element in (X(j) - XTRUE) divided by the magnitude of the largest element in X(j). The estimate is as reliable as the estimate for RCOND, and is almost always a slight overestimate of the true error.
  • BERR β€” BERR is REAL array, dimension (NRHS)
    • The componentwise relative backward error of each solution vector X(j) (i.e., the smallest relative change in any element of A or B that makes X(j) an exact solution).
  • WORK β€” WORK is COMPLEX array, dimension (2*N)
  • RWORK β€” RWORK is REAL array, dimension (N)
  • INFO β€” INFO is INTEGER
    • = 0: successful exit
    • < 0: if INFO = -i, the i-th argument had an illegal value

⭐ Internal Parameters

  • ITMAX is the maximum number of steps of iterative refinement.

πŸ‘‘ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 190 of file csyrfs.f.

πŸ’– DSYRFS β€” the double-precision, symmetric-indefinite glow-up

   subroutine dsyrfs (character uplo, integer n, integer nrhs, double
       precision, dimension( lda, * ) a, integer lda, double precision,
       dimension( ldaf, * ) af, integer ldaf, integer, dimension( * ) ipiv,
       double precision, dimension( ldb, * ) b, integer ldb, double precision,
       dimension( ldx, * ) x, integer ldx, double precision, dimension( * )
       ferr, double precision, dimension( * ) berr, double precision,
       dimension( * ) work, integer, dimension( * ) iwork, integer info)

✨ Purpose

Okay so DSYRFS is the bestie who improves the computed solution to a system of linear equations when the coefficient matrix is symmetric indefinite, and she also provides error bounds and backward error estimates for the solution. No cap, she’s giving accuracy-check main character energy. πŸ’…

🧩 Parameters

  • UPLO β€” UPLO is CHARACTER*1. 'U' means the upper triangle of A is stored; 'L' means the lower triangle of A is stored. Slay, pick a triangle. πŸŽ€
  • N β€” N is INTEGER. The order of the matrix A. N >= 0. It’s giving β€œsize matters, but keep it legal.” ✨
  • NRHS β€” NRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >= 0. πŸ’…
  • A β€” A is DOUBLE PRECISION array, dimension (LDA,N). This is the symmetric matrix A, bestie. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. πŸ“
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N). πŸŽ€
  • AF β€” AF is DOUBLE PRECISION array, dimension (LDAF,N). 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. 🧚
  • LDAF β€” LDAF is INTEGER. The leading dimension of the array AF. LDAF >= max(1,N). 🌸
  • IPIV β€” IPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by DSYTRF. The way that pivot lore is stored here. πŸ”₯
  • B β€” B is DOUBLE PRECISION array, dimension (LDB,NRHS). The right hand side matrix B. 🫢
  • LDB β€” LDB is INTEGER. The leading dimension of the array B. LDB >= max(1,N). πŸŽ€
  • X β€” X is DOUBLE PRECISION array, dimension (LDX,NRHS). On entry, the solution matrix X, as computed by DSYTRS. On exit, the improved solution matrix X. Not me loving an in-place glow-up. πŸ’œ
  • LDX β€” LDX is INTEGER. The leading dimension of the array X. LDX >= max(1,N). 😭
  • FERR β€” FERR is DOUBLE PRECISION array, dimension (NRHS). The estimated forward error bound for each solution vector X(j) (the j-th column of the solution matrix X). If XTRUE is the true solution corresponding to X(j), FERR(j) is an estimated upper bound for the magnitude of the largest element in (X(j) - XTRUE) divided by the magnitude of the largest element in X(j). The estimate is as reliable as the estimate for RCOND, and is almost always a slight overestimate of the true error. Obsessed with an honest overestimate. πŸ”₯
  • BERR β€” BERR is DOUBLE PRECISION array, dimension (NRHS). The componentwise relative backward error of each solution vector X(j) (i.e., the smallest relative change in any element of A or B that makes X(j) an exact solution). Literally the β€œhow close did we get?” report. πŸ‘‘
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (3*N). That’s the 3*N slot situation, ngl. ⭐
  • IWORK β€” IWORK is INTEGER array, dimension (N). Integer workspace, periodt. πŸŽ€
  • INFO β€” INFO is INTEGER. = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value. πŸ’€

πŸ”§ Internal Parameters

  • ITMAX is the maximum number of steps of iterative refinement. That’s the glow-up budget, fr fr. ✨

πŸ‘‘ Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

The author list ate, iykyk. 🫢

πŸ“ Definition

Definition at line 189 of file dsyrfs.f. Iconic. πŸ’…


πŸ¦‹ SSYRFS β€” the real-valued, symmetric-indefinite sibling

   subroutine ssyrfs (character uplo, integer n, integer nrhs, real, dimension(
       lda, * ) a, integer lda, real, dimension( ldaf, * ) af, integer ldaf,
       integer, dimension( * ) ipiv, real, dimension( ldb, * ) b, integer ldb,
       real, dimension( ldx, * ) x, integer ldx, real, dimension( * ) ferr,
       real, dimension( * ) berr, real, dimension( * ) work, integer,
       dimension( * ) iwork, integer info)

✨ Purpose

Okay so 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. Same energy as her double-precision sister, just in REAL. No cap. πŸ’…

🧩 Parameters

  • UPLO β€” UPLO is CHARACTER*1. 'U' means the upper triangle of A is stored; 'L' means the lower triangle of A is stored. Pick your triangle, bestie. πŸŽ€
  • N β€” N is INTEGER. The order of the matrix A. N >= 0. ✨
  • NRHS β€” NRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >= 0. πŸ’…
  • A β€” A is REAL array, dimension (LDA,N). The symmetric matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. πŸ“
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N). πŸŽ€
  • AF β€” AF is REAL array, dimension (LDAF,N). 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. 🧚
  • LDAF β€” LDAF is INTEGER. The leading dimension of the array AF. LDAF >= max(1,N). 🌸
  • IPIV β€” IPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by SSYTRF. Pivot details, but make it cute. πŸ”₯
  • B β€” B is REAL array, dimension (LDB,NRHS). The right hand side matrix B. 🫢
  • LDB β€” LDB is INTEGER. The leading dimension of the array B. LDB >= max(1,N). πŸŽ€
  • X β€” X is REAL array, dimension (LDX,NRHS). On entry, the solution matrix X, as computed by SSYTRS. On exit, the improved solution matrix X. The before-and-after is real. πŸ’œ
  • LDX β€” LDX is INTEGER. The leading dimension of the array X. LDX >= max(1,N). 😭
  • FERR β€” FERR is REAL array, dimension (NRHS). The estimated forward error bound for each solution vector X(j) (the j-th column of the solution matrix X). If XTRUE is the true solution corresponding to X(j), FERR(j) is an estimated upper bound for the magnitude of the largest element in (X(j) - XTRUE) divided by the magnitude of the largest element in X(j). The estimate is as reliable as the estimate for RCOND, and is almost always a slight overestimate of the true error. πŸ”₯
  • BERR β€” BERR is REAL array, dimension (NRHS). The componentwise relative backward error of each solution vector X(j) (i.e., the smallest relative change in any element of A or B that makes X(j) an exact solution). πŸ‘‘
  • WORK β€” WORK is REAL array, dimension (3*N). Workspace with 3*N slots. ⭐
  • IWORK β€” IWORK is INTEGER array, dimension (N). Integer workspace, periodt. πŸŽ€
  • INFO β€” INFO is INTEGER. = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value. πŸ’€

πŸ”§ Internal Parameters

  • ITMAX is the maximum number of steps of iterative refinement. The refinement budget is set, bestie. ✨

πŸ‘‘ Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Same iconic author lineup. 🫢

πŸ“ Definition

Definition at line 189 of file ssyrfs.f. Slay. πŸ’…


🌈 ZHERFS β€” the complex*16, Hermitian-indefinite boss

   subroutine zherfs (character uplo, integer n, integer nrhs, complex*16,
       dimension( lda, * ) a, integer lda, complex*16, dimension( ldaf, * ) af,
       integer ldaf, integer, dimension( * ) ipiv, complex*16, dimension( ldb,
       * ) b, integer ldb, complex*16, dimension( ldx, * ) x, integer ldx,
       double precision, dimension( * ) ferr, double precision, dimension( * )
       berr, complex*16, dimension( * ) work, double precision, dimension( * )
       rwork, integer info)

✨ Purpose

Okay so ZHERFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian indefinite, and provides error bounds and backward error estimates for the solution. Complex arithmetic but make it main character energy. 🌈

🧩 Parameters

  • UPLO β€” UPLO is CHARACTER*1. 'U' means the upper triangle of A is stored; 'L' means the lower triangle of A is stored. Pick a triangle, bestie. πŸŽ€
  • N β€” N is INTEGER. The order of the matrix A. N >= 0. ✨
  • NRHS β€” NRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >= 0. πŸ’…

A

  • A β€” it's a COMPLEX*16 array, dimension (LDA,N) and it's the Hermitian matrix A herself, the main character πŸ’… If UPLO = 'U', the leading N-by-N upper triangular part of A holds the upper triangle of the matrix, and the strictly lower triangular part of A is not referenced (we literally don't look at it, she's off duty πŸ™ˆ). If UPLO = 'L', it's the flip: the leading N-by-N lower triangular part of A holds the lower triangle, and the strictly upper triangular part of A is not referenced. Only one half is invited to the party, bestie πŸŽ€
  • LDA β€” LDA is INTEGER, and it's the leading dimension of the array A. Requirement, no cap: LDA >= max(1,N). Respect the leading dimension or perish 😭
  • AF β€” COMPLEX*16 array, dimension (LDAF,N). This is the factored form of the matrix A, iconic. 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**H or A = L*D*L**H as computed by ZHETRF. Slay, that's the whole vibe πŸ”₯
  • LDAF β€” LDAF is INTEGER, the leading dimension of the array AF. And LDAF >= max(1,N). Same energy, same rules ✨
  • IPIV β€” INTEGER array, dimension (N). All the details of the interchanges and the block structure of D, exactly as determined by ZHETRF. It's giving receipts 🧾
  • B β€” COMPLEX*16 array, dimension (LDB,NRHS). The right hand side matrix B. That's her 🫢
  • LDB β€” LDB is INTEGER, leading dimension of the array B. You already know: LDB >= max(1,N) πŸ’€
  • X β€” COMPLEX*16 array, dimension (LDX,NRHS). On entry, it's the solution matrix X, as computed by ZHETRS. On exit, it's the improved solution matrix X. Glow-up arc, literally 🌸
  • LDX β€” LDX is INTEGER, leading dimension of the array X. LDX >= max(1,N). Periodt πŸ’…
  • FERR β€” DOUBLE PRECISION array, dimension (NRHS). The estimated forward error bound for each solution vector X(j) (that's the j-th column of the solution matrix X). If XTRUE is the true solution corresponding to X(j), then FERR(j) is an estimated upper bound for the magnitude of the largest element in (X(j) - XTRUE) divided by the magnitude of the largest element in X(j). The estimate is as reliable as the estimate for RCOND, and it's almost always a slight overestimate of the true error β€” she errs on the side of caution, we stan a careful queen πŸ‘‘
  • BERR β€” DOUBLE PRECISION array, dimension (NRHS). The componentwise relative backward error of each solution vector X(j), i.e. the smallest relative change in any element of A or B that makes X(j) an exact solution. Smallest possible change, maximum drama πŸ’€
  • WORK β€” COMPLEX*16 array, dimension (2*N). That's it, that's the note πŸŽ€
  • RWORK β€” DOUBLE PRECISION array, dimension (N). Also just vibing πŸ¦‹
  • INFO β€” INFO is INTEGER and it's the final boss report:
    • = 0: successful exit, we ate and left no crumbs βœ…
    • < 0: if INFO = -i, the i-th argument had an illegal value 🚨

🌈 Internal Parameters 🌈

  • ITMAX is the maximum number of steps of iterative refinement. She's persistent, not infinite πŸ’œ

🫢 Author 🫢

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 190 of file zherfs.f.


πŸ’– subroutine zsyrfs πŸ’–

subroutine zsyrfs (character uplo, integer n, integer nrhs, complex*16,
    dimension( lda, * ) a, integer lda, complex*16, dimension( ldaf, * ) af,
    integer ldaf, integer, dimension( * ) ipiv, complex*16, dimension( ldb,
    * ) b, integer ldb, complex*16, dimension( ldx, * ) x, integer ldx,
    double precision, dimension( * ) ferr, double precision, dimension( * )
    berr, complex*16, dimension( * ) work, double precision, dimension( * )
    rwork, integer info)

ZSYRFS

✨ Purpose ✨

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. So the matrix is symmetric but indefinite β€” she contains multitudes, we don't judge πŸ’…

πŸŽ€ Parameters πŸŽ€

  • UPLO β€” UPLO is CHARACTER*1 and it picks a side:
    • = 'U': upper triangle of A is stored;
    • = 'L': lower triangle of A is stored.
  • N β€” N is INTEGER, the order of the matrix A. Constraint: N >= 0. Zero is a valid order, no gatekeeping 🌸
  • NRHS β€” NRHS is INTEGER, the number of right hand sides, i.e. the number of columns of the matrices B and X. Constraint: NRHS >= 0 πŸ¦‹
  • A β€” COMPLEX*16 array, dimension (LDA,N). The symmetric matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. Half the matrix is literally not invited, and that's fine 😌
  • LDA β€” LDA is INTEGER, leading dimension of the array A. Requirement: LDA >= max(1,N) πŸ’€
  • AF β€” COMPLEX*16 array, dimension (LDAF,N). 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. Note the **T here, not **H β€” this is the symmetric one, so mind the difference bestie 🧚
  • LDAF β€” LDAF is INTEGER, leading dimension of the array AF. Requirement: LDAF >= max(1,N) ✨
  • IPIV β€” INTEGER array, dimension (N). Details of the interchanges and the block structure of D, as determined by ZSYTRF πŸ”
  • B β€” COMPLEX*16 array, dimension (LDB,NRHS). The right hand side matrix B πŸ’–
  • LDB β€” LDB is INTEGER, leading dimension of the array B. Requirement: LDB >= max(1,N) πŸŽ€
  • X β€” COMPLEX*16 array, dimension (LDX,NRHS). On entry, the solution matrix X, as computed by ZSYTRS. On exit, the improved solution matrix X. She came in fine and left iconic πŸ‘‘
  • LDX β€” LDX is INTEGER, leading dimension of the array X. Requirement: LDX >= max(1,N) πŸ’…
  • FERR β€” DOUBLE PRECISION array, dimension (NRHS). The estimated forward error bound for each solution vector X(j) (the j-th column of the solution matrix X). If XTRUE is the true solution corresponding to X(j), FERR(j) is an estimated upper bound for the magnitude of the largest element in (X(j) - XTRUE) divided by the magnitude of the largest element in X(j). The estimate is as reliable as the estimate for RCOND, and is almost always a slight overestimate of the true error. Accurate-ish and honest about it, a whole personality 🌟
  • BERR β€” DOUBLE PRECISION array, dimension (NRHS). The componentwise relative backward error of each solution vector X(j), i.e. the smallest relative change in any element of A or B that makes X(j) an exact solution πŸ™ˆ
  • WORK β€” COMPLEX*16 array, dimension (2*N) πŸ“
  • RWORK β€” DOUBLE PRECISION array, dimension (N) πŸ’œ
  • INFO β€” INFO is INTEGER, the moment of truth:
    • = 0: successful exit, we love to see it πŸ’š
    • < 0: if INFO = -i, the i-th argument had an illegal value 🚨

🌈 Internal Parameters 🌈

  • ITMAX is the maximum number of steps of iterative refinement. Same queen, same patience ⭐

🫢 Author 🫢

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 190 of file zsyrfs.f.


πŸ¦‹ Author πŸ¦‹

Generated automatically by Doxygen for LAPACK from the source code.


okay that's the whole page bestie, you made it to the end, so proud πŸ₯Ή This was brought to you by LAPACK, Version 3.12.0, and the file is literally called herfs(3) β€” go forth and refine iteratively, iykyk πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from