SRC/dptrfs.f(3)

🌸 SRC/dptrfs.f(3) 🌸

okay bestie, welcome to the Library Functions Manual, section 3 energy πŸ’… this page is all about SRC/dptrfs.f, and it is very Fortran, very LAPACK, very "trust me, the math is mathing."


πŸŽ€ NAME πŸŽ€

SRC/dptrfs.f β€” the file itself, periodt ✨


✨ SYNOPSIS ✨

πŸ¦‹ Functions/Subroutines πŸ¦‹

subroutine dptrfs (n, nrhs, d, e, df, ef, b, ldb, x, ldx, ferr, berr, work, info)

DPTRFS πŸ‘‘


πŸ’– Function/Subroutine Documentation πŸ’–

subroutine dptrfs (integer n, integer nrhs, double precision, dimension( * )
       d, double precision, dimension( * ) e, double precision, dimension( * )
       df, double precision, dimension( * ) ef, 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
       info)

DPTRFS 🫢


🌈 Purpose 🌈

okay so DPTRFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric positive definite and tridiagonal, and it provides error bounds and backward error estimates for the solution. that's the whole assignment, and it ate. πŸ”₯


πŸ’œ Parameters πŸ’œ

  • N β€” N is INTEGER. it's the order of the matrix A, and N >= 0. no negative chaos allowed πŸ’€
  • NRHS β€” NRHS is INTEGER. the number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. yes bestie, zero is valid, we love a boundary case πŸŽ€
  • D β€” D is DOUBLE PRECISION array, dimension (N). these are the n diagonal elements of the tridiagonal matrix A ✨
  • E β€” E is DOUBLE PRECISION array, dimension (N-1). these are the (n-1) subdiagonal elements of the tridiagonal matrix A 🌸
  • DF β€” DF is DOUBLE PRECISION array, dimension (N). these are the n diagonal elements of the diagonal matrix D from the factorization computed by DPTTRF πŸ‘‘
  • EF β€” EF is DOUBLE PRECISION array, dimension (N-1). these are the (n-1) subdiagonal elements of the unit bidiagonal factor L from the factorization computed by DPTTRF πŸ¦‹
  • B β€” B is DOUBLE PRECISION array, dimension (LDB,NRHS). it's the right hand side matrix B, iconic πŸ’–
  • LDB β€” LDB is INTEGER. it's the leading dimension of the array B. LDB >= max(1,N). do not play with this, fr fr 🫢
  • X β€” X is DOUBLE PRECISION array, dimension (LDX,NRHS). on entry, it's the solution matrix X, as computed by DPTTRS. on exit, it's the improved solution matrix X. main character upgrade moment ✨
  • LDX β€” LDX is INTEGER. it's the leading dimension of the array X. LDX >= max(1,N). same energy as LDB, no shortcuts πŸ’…
  • FERR β€” FERR is DOUBLE PRECISION array, dimension (NRHS). it's the forward error bound for each solution vector X(j), where X(j) is 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). yes, that sentence is a whole workout, but it's all there 😭
  • BERR β€” BERR is DOUBLE PRECISION array, dimension (NRHS). it's 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. lowkey obsessed with how precise that is πŸŽ€
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (2*N). that's the workspace, bestie, give it its 2*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. that's the internal parameter, and it's giving "trust the process" ✨

πŸ‘‘ Author πŸ‘‘

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

Definition at line 161 of file dptrfs.f. 🫢


✨ Author ✨

Generated automatically by Doxygen for LAPACK from the source code. yes, the robots did this part πŸ€–πŸ’…


okay that's the whole page, bestie. LAPACK Version 3.12.0, from SRC/dptrfs.f(3) β€” and the footer didn't give me a date, so I'm not inventing one, periodt πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from