pbrfs(3)

πŸ’… pbrfs(3) β€” iterative refinement ✨

Okay bestie, this is the pbrfs(3) page from the Library Functions Manual, and the manual name is folded in right here so we're not copying that boring header line like a bot. It's giving β€œlinear algebra glow-up” energy, and honestly? Obsessed. 🫢


✨ NAME ✨

pbrfs β€” pbrfs: iterative refinement. That's the name, that's the vibe. The manual name is pbrfs(3), and it lives in the Library Functions Manual, no cap. πŸ’…


🌸 SYNOPSIS 🌸

Here's the function lineup exactly as written, bestie. Four routines, all doing that iterative-refinement thing:

πŸ’– Functions πŸ’–

subroutine cpbrfs (uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b, ldb, x,
    ldx, ferr, berr, work, rwork, info)
    CPBRFS
subroutine dpbrfs (uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b, ldb, x,
    ldx, ferr, berr, work, iwork, info)
    DPBRFS
subroutine spbrfs (uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b, ldb, x,
    ldx, ferr, berr, work, iwork, info)
    SPBRFS
subroutine zpbrfs (uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b, ldb, x,
    ldx, ferr, berr, work, rwork, info)
    ZPBRFS

πŸ¦‹ Detailed Description πŸ¦‹

There's no extra prose under this heading in the original β€” it's a quick pit stop before the function docs. Minimalist queen. πŸ‘‘

πŸŽ€ Function Documentation πŸŽ€

Okay, main character section. Each function gets the full treatment: purpose, parameters, internal parameters, author credits, and the source-file line. No skipping, no summary crimes. πŸ’–

Tiny heads-up: the original sprinkles !> doc-comment markers through these blocks. I'm not making you read those little gremlins, but every actual parameter fact is still below. 🫢

🧚 cpbrfs β€” CPBRFS

subroutine cpbrfs (character uplo, integer n, integer kd, integer nrhs,
    complex, dimension( ldab, * ) ab, integer ldab, complex, dimension(
    ldafb, * ) afb, integer ldafb, 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)

CPBRFS β€” yes bestie, that's the label.

Purpose

CPBRFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian positive definite and banded, and it provides error bounds and backward error estimates for the solution. It's literally the aftercare for your solve. πŸ’…

Parameters

  • UPLO β€” CHARACTER*1.
    • = 'U': upper triangle of A is stored;
    • = 'L': lower triangle of A is stored.
  • N β€” INTEGER. The order of the matrix A. N >= 0.
  • KD β€” INTEGER. The number of superdiagonals of the matrix A if UPLO = 'U', or the number of subdiagonals if UPLO = 'L'. KD >= 0.
  • NRHS β€” INTEGER. The number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >= 0.
  • AB β€” COMPLEX array, dimension (LDAB,N). The upper or lower triangle of the Hermitian band matrix A, stored in the first KD+1 rows of the array. The j-th column of A is stored in the j-th column of the array AB as follows:
    • if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;
    • if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd).
  • LDAB β€” INTEGER. The leading dimension of the array AB. LDAB >= KD+1.
  • AFB β€” COMPLEX array, dimension (LDAFB,N). The triangular factor U or L from the Cholesky factorization A = U**H*U or A = L*L**H of the band matrix A as computed by CPBTRF, in the same storage format as A (see AB).
  • LDAFB β€” INTEGER. The leading dimension of the array AFB. LDAFB >= KD+1.
  • B β€” COMPLEX array, dimension (LDB,NRHS). The right hand side matrix B.
  • LDB β€” INTEGER. The leading dimension of the array B. LDB >= max(1,N).
  • X β€” COMPLEX array, dimension (LDX,NRHS). On entry, the solution matrix X, as computed by CPBTRS. On exit, the improved solution matrix X.
  • LDX β€” INTEGER. The leading dimension of the array X. LDX >= max(1,N).
  • FERR β€” 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 β€” 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 β€” COMPLEX array, dimension (2*N).
  • RWORK β€” REAL array, dimension (N).
  • INFO β€” 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 whole note. Periodt. πŸ’…

Author

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

Definition at line 187 of file cpbrfs.f.


🧚 dpbrfs β€” DPBRFS

subroutine dpbrfs (character uplo, integer n, integer kd, integer nrhs,
    double precision, dimension( ldab, * ) ab, integer ldab, double
    precision, dimension( ldafb, * ) afb, integer ldafb, 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)

DPBRFS β€” label secured.

Purpose

DPBRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric positive definite and banded, and it provides error bounds and backward error estimates for the solution. Same energy as cpbrfs, but double precision and symmetric instead of Hermitian. Slay. πŸ”₯

Parameters

  • UPLO β€” CHARACTER*1.
    • = 'U': upper triangle of A is stored;
    • = 'L': lower triangle of A is stored.
  • N β€” INTEGER. The order of the matrix A. N >= 0.
  • KD β€” INTEGER. The number of superdiagonals of the matrix A if UPLO = 'U', or the number of subdiagonals if UPLO = 'L'. KD >= 0.
  • NRHS β€” INTEGER. The number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >= 0.
  • AB β€” DOUBLE PRECISION array, dimension (LDAB,N). The upper or lower triangle of the symmetric band matrix A, stored in the first KD+1 rows of the array. The j-th column of A is stored in the j-th column of the array AB as follows:
    • if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;
    • if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd).
  • LDAB β€” INTEGER. The leading dimension of the array AB. LDAB >= KD+1.
  • AFB β€” DOUBLE PRECISION array, dimension (LDAFB,N). The triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T of the band matrix A as computed by DPBTRF, in the same storage format as A (see AB).
  • LDAFB β€” INTEGER. The leading dimension of the array AFB. LDAFB >= KD+1.
  • B β€” DOUBLE PRECISION array, dimension (LDB,NRHS). The right hand side matrix B.
  • LDB β€” INTEGER. The leading dimension of the array B. LDB >= max(1,N).
  • X β€” DOUBLE PRECISION array, dimension (LDX,NRHS). On entry, the solution matrix X, as computed by DPBTRS. On exit, the improved solution matrix X.
  • LDX β€” INTEGER. The leading dimension of the array X. 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.
  • 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 β€” DOUBLE PRECISION array, dimension (3*N).
  • IWORK β€” INTEGER array, dimension (N).
  • INFO β€” 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. Same iconic note, no changes. πŸ’…

Author

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

Definition at line 187 of file dpbrfs.f.


🧚 spbrfs β€” SPBRFS

subroutine spbrfs (character uplo, integer n, integer kd, integer nrhs,
    real, dimension( ldab, * ) ab, integer ldab, real, dimension( ldafb, * )
    afb, integer ldafb, 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)

SPBRFS β€” label present and accounted for.

Purpose

SPBRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric positive definite and banded, and it provides error bounds and backward error estimates for the solution. Real precision, same β€œfix my solution and give me receipts” energy. 🫢

Parameters

  • UPLO β€” the page cuts off right here in part 1; part 2 picks up the rest of this parameter list, bestie. πŸ’–

(part 2 slides in with the rest of UPLO and every remaining detail β€” no goodbye, just a cliffhanger. πŸ’…)

okay so we're still in the spbrfs parameter lineup, bestie β€” don't leave me hanging 🫢

  • UPLO β€” CHARACTER*1. The vibe check for the triangle: = 'U': upper triangle of A is stored; = 'L': lower triangle of A is stored. πŸ’…
  • N β€” INTEGER. The order of the matrix A. N >= 0.
  • KD β€” INTEGER. The number of superdiagonals of the matrix A if UPLO = 'U', or the number of subdiagonals if UPLO = 'L'. KD >= 0.
  • NRHS β€” INTEGER. The number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >= 0.
  • AB β€” REAL array, dimension (LDAB,N). The upper or lower triangle of the symmetric band matrix A, stored in the first KD+1 rows of the array. The j-th column of A is stored in the j-th column of the array AB as follows: if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j; if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). πŸ¦‹
  • LDAB β€” INTEGER. The leading dimension of the array AB. LDAB >= KD+1.
  • AFB β€” REAL array, dimension (LDAFB,N). The triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T of the band matrix A as computed by SPBTRF, in the same storage format as A (see AB). ✨
  • LDAFB β€” INTEGER. The leading dimension of the array AFB. LDAFB >= KD+1.
  • B β€” REAL array, dimension (LDB,NRHS). The right hand side matrix B.
  • LDB β€” INTEGER. The leading dimension of the array B. LDB >= max(1,N).
  • X β€” REAL array, dimension (LDX,NRHS). On entry, the solution matrix X, as computed by SPBTRS. On exit, the improved solution matrix X.
  • LDX β€” INTEGER. The leading dimension of the array X. LDX >= max(1,N).
  • FERR β€” 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 β€” 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 β€” REAL array, dimension (3*N).
  • IWORK β€” INTEGER array, dimension (N).
  • INFO β€” 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 187 of file spbrfs.f.


πŸ’œ ZPBRFS β€” the COMPLEX*16 twin

   subroutine zpbrfs (character uplo, integer n, integer kd, integer nrhs,
       complex*16, dimension( ldab, * ) ab, integer ldab, complex*16,
       dimension( ldafb, * ) afb, integer ldafb, 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)
       ZPBRFS

🌸 Purpose

ZPBRFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian positive definite and banded, and provides error bounds and backward error estimates for the solution. no cap, that's the whole glow-up πŸŽ€

πŸŽ€ Parameters

  • UPLO β€” CHARACTER*1. The triangle situation: = 'U': upper triangle of A is stored; = 'L': lower triangle of A is stored. πŸ’…
  • N β€” INTEGER. The order of the matrix A. N >= 0.
  • KD β€” INTEGER. The number of superdiagonals of the matrix A if UPLO = 'U', or the number of subdiagonals if UPLO = 'L'. KD >= 0.
  • NRHS β€” INTEGER. The number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >= 0.
  • AB β€” COMPLEX*16 array, dimension (LDAB,N). The upper or lower triangle of the Hermitian band matrix A, stored in the first KD+1 rows of the array. The j-th column of A is stored in the j-th column of the array AB as follows: if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j; if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd). πŸ¦‹
  • LDAB β€” INTEGER. The leading dimension of the array AB. LDAB >= KD+1.
  • AFB β€” COMPLEX*16 array, dimension (LDAFB,N). The triangular factor U or L from the Cholesky factorization A = U**H*U or A = L*L**H of the band matrix A as computed by ZPBTRF, in the same storage format as A (see AB). ✨
  • LDAFB β€” INTEGER. The leading dimension of the array AFB. LDAFB >= KD+1.
  • B β€” COMPLEX*16 array, dimension (LDB,NRHS). The right hand side matrix B.
  • LDB β€” INTEGER. The leading dimension of the array B. LDB >= max(1,N).
  • X β€” COMPLEX*16 array, dimension (LDX,NRHS). On entry, the solution matrix X, as computed by ZPBTRS. On exit, the improved solution matrix X.
  • LDX β€” INTEGER. The leading dimension of the array X. 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. 😭
  • 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 β€” 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 187 of file zpbrfs.f.

πŸ€– Author

Generated automatically by Doxygen for LAPACK from the source code.


That's literally the whole page, bestie! πŸ’– Shoutout to LAPACK Version 3.12.0 for the source/version energy and the pbrfs(3) footer fam β€” mwah! πŸŽ€βœ¨

πŸ“¦ where this page comes from