tprfs(3)

πŸ’… tprfs(3) β€” triangular iterative refinement πŸ’…

🌸 NAME 🌸

tprfs β€” tprfs: triangular iterative refinement


✨ SYNOPSIS ✨

πŸŽ€ Functions πŸŽ€

  • ctprfs β€” CTPRFS
  • dtprfs β€” DTPRFS
  • stprfs β€” STPRFS
  • ztprfs β€” ZTPRFS
subroutine ctprfs (uplo, trans, diag, n, nrhs, ap, b, ldb, x, ldx, ferr, berr, work, rwork, info)
subroutine dtprfs (uplo, trans, diag, n, nrhs, ap, b, ldb, x, ldx, ferr, berr, work, iwork, info)
subroutine stprfs (uplo, trans, diag, n, nrhs, ap, b, ldb, x, ldx, ferr, berr, work, iwork, info)
subroutine ztprfs (uplo, trans, diag, n, nrhs, ap, b, ldb, x, ldx, ferr, berr, work, rwork, info)

πŸ¦‹ Detailed Description πŸ¦‹

Okay bestie, this is the detailed-description zone, and the actual function docs are right below. Let’s get into it. πŸ‘‡


πŸ‘‘ Function Documentation πŸ‘‘

πŸ’– subroutine ctprfs πŸ’–

subroutine ctprfs (character uplo, character trans, character diag, integer n, integer nrhs, complex, dimension( * ) ap, 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)

CTPRFS

✨ Purpose ✨

Okay so CTPRFS provides error bounds and backward error estimates for the solution to a system of linear equations with a triangular packed coefficient matrix. πŸ’…

The solution matrix X must be computed by CTPTRS or some other means before entering this routine. No cap, CTPRFS does not do iterative refinement, because doing so cannot improve the backward error. Periodt. πŸ’–

🌸 Parameters 🌸

  • UPLO β€” UPLO is CHARACTER*1
    • = 'U': A is upper triangular;
    • = 'L': A is lower triangular.
  • TRANS β€” TRANS is CHARACTER*1. 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)
  • DIAG β€” DIAG is CHARACTER*1
    • = 'N': A is non-unit triangular;
    • = 'U': A is unit triangular.
  • 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.
  • AP β€” AP is COMPLEX array, dimension (N*(N+1)/2). The upper or lower triangular matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows:
    • if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
    • if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.

If DIAG = 'U', the diagonal elements of A are not referenced and are assumed to be 1.

  • 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). The 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

🌟 Author 🌟

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

Definition at line 172 of file ctprfs.f.


πŸ’œ subroutine dtprfs πŸ’œ

subroutine dtprfs (character uplo, character trans, character diag, integer n, integer nrhs, double precision, dimension( * ) ap, 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)

DTPRFS

✨ Purpose ✨

Bestie, DTPRFS provides error bounds and backward error estimates for the solution to a system of linear equations with a triangular packed coefficient matrix. πŸ’…

The solution matrix X must be computed by DTPTRS or some other means before entering this routine. And fr fr, DTPRFS does not do iterative refinement because doing so cannot improve the backward error. That’s just the vibe. 🫢

🌸 Parameters 🌸

  • UPLO β€” UPLO is CHARACTER*1
    • = 'U': A is upper triangular;
    • = 'L': A is lower triangular.
  • TRANS β€” TRANS is CHARACTER*1. 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)
  • DIAG β€” DIAG is CHARACTER*1
    • = 'N': A is non-unit triangular;
    • = 'U': A is unit triangular.
  • 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.
  • AP β€” AP is DOUBLE PRECISION array, dimension (N*(N+1)/2). The upper or lower triangular matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows:
    • if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
    • if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.

If DIAG = 'U', the diagonal elements of A are not referenced and are assumed to be 1.

  • 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). The solution matrix X.
  • 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.
  • 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).
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (3*N).
  • IWORK β€” IWORK is INTEGER array, dimension (N).
  • INFO β€” INFO is INTEGER
    • = 0: successful exit
    • < 0: if INFO = -i, the i-th argument had an illegal value

🌟 Author 🌟

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

Definition at line 173 of file dtprfs.f.


🧚 subroutine stprfs 🧚

subroutine stprfs (character uplo, character trans, character diag, integer n, integer nrhs, real, dimension( * ) ap, 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)

STPRFS

✨ Purpose ✨

Okay so STPRFS provides error bounds and backward error estimates for the solution to a system of linear equations with a triangular packed coefficient matrix. πŸ’…

The solution matrix X must be computed by STPTRS or some other means before entering this routine. Highkey important: STPRFS does not do iterative refinement, because doing so cannot improve the backward error. Periodt. πŸ’–

🌸 Parameters 🌸

  • UPLO β€” UPLO is CHARACTER*1
    • = 'U': A is upper triangular;
    • = 'L': A is lower triangular.
  • TRANS β€” TRANS is CHARACTER*1. 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)
  • DIAG β€” DIAG is CHARACTER*1
    • = 'N': A is non-unit triangular;
    • = 'U': A is unit triangular.
  • N
  • N β€” N is INTEGER, and it’s the order of the matrix A. Constraint: N >= 0. πŸ’–
  • NRHS β€” NRHS is INTEGER, aka the number of right hand sides, i.e. the number of columns of the matrices B and X. Constraint: NRHS >= 0. ✨
  • AP β€” AP is REAL array, dimension (N*(N+1)/2). It’s the upper or lower triangular matrix A, packed columnwise in a linear array. The j-th column of A lives in AP like this:
if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.

If DIAG = 'U', the diagonal elements of A are not referenced and are assumed to be 1. 🫢

  • B β€” B is REAL array, dimension (LDB,NRHS). This is the right hand side matrix B. 🌸
  • LDB β€” LDB is INTEGER, the leading dimension of the array B. Constraint: LDB >= max(1,N). πŸ’…
  • X β€” X is REAL array, dimension (LDX,NRHS). This is the solution matrix X. πŸ¦‹
  • LDX β€” LDX is INTEGER, the leading dimension of the array X. Constraint: LDX >= max(1,N). ⭐
  • FERR β€” FERR is REAL array, dimension (NRHS). It’s 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), 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 is almost always a slight overestimate of the true error. 😭
  • BERR β€” BERR is REAL array, dimension (NRHS). This is 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). πŸŽ€
  • IWORK β€” IWORK is INTEGER array, dimension (N). πŸ‘‘
  • INFO β€” INFO is INTEGER:
= 0:  successful exit
< 0:  if INFO = -i, the i-th argument had an illegal value

πŸ‘‘ Author

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

Definition: at line 173 of file stprfs.f. πŸ’œ


πŸ¦‹ subroutine ztprfs β€” a.k.a. ZTPRFS

subroutine ztprfs (character uplo, character trans, character diag, integer
       n, integer nrhs, complex*16, dimension( * ) ap, 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)
       ZTPRFS

🎯 Purpose

ZTPRFS provides error bounds and backward error estimates for the solution to a system of linear equations with a triangular packed coefficient matrix. No cap. πŸ’…

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

🌸 Parameters

  • UPLO β€” UPLO is CHARACTER*1:
    • = 'U': A is upper triangular;
    • = 'L': A is lower triangular.
  • TRANS β€” TRANS is CHARACTER*1, specifying 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)
  • DIAG β€” DIAG is CHARACTER*1:
    • = 'N': A is non-unit triangular;
    • = 'U': A is unit triangular.
  • N β€” N is INTEGER, the order of the matrix A. Constraint: N >= 0. ✨
  • 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. πŸ’–
  • AP β€” AP is COMPLEX*16 array, dimension (N*(N+1)/2). It’s the upper or lower triangular matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows:
if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.

If DIAG = 'U', the diagonal elements of A are not referenced and are assumed to be 1. 🫢

  • B β€” B is COMPLEX*16 array, dimension (LDB,NRHS). This is the right hand side matrix B. πŸ¦‹
  • LDB β€” LDB is INTEGER, the leading dimension of the array B. Constraint: LDB >= max(1,N). πŸ’…
  • X β€” X is COMPLEX*16 array, dimension (LDX,NRHS). This is the solution matrix X. 🌸
  • LDX β€” LDX is INTEGER, the leading dimension of the array X. Constraint: LDX >= max(1,N). ⭐
  • FERR β€” FERR is DOUBLE PRECISION array, dimension (NRHS). It’s 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), 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 is almost always a slight overestimate of the true error. 😭
  • BERR β€” BERR is DOUBLE PRECISION array, dimension (NRHS). This is 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*16 array, dimension (2*N). πŸŽ€
  • RWORK β€” RWORK is DOUBLE PRECISION array, dimension (N). πŸ‘‘
  • INFO β€” INFO is INTEGER:
= 0:  successful exit
< 0:  if INFO = -i, the i-th argument had an illegal value

πŸ‘‘ Author

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

Definition: at line 172 of file ztprfs.f. πŸ’œ


πŸ€– Author

Generated automatically by Doxygen for LAPACK from the source code. 🧚

Cute sign-off time: this footer gives us LAPACK Version 3.12.0 and tprfs(3), auto-generated by Doxygen for LAPACK from the source code. No date on this footer, so I’m not inventing one β€” just sending you off with all the vibes and zero missing flags. πŸ«ΆπŸ’–βœ¨

πŸ“¦ where this page comes from