DGTRFS(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’… NAME

okay so bestie, this page lives in the Library Functions Manual (that's the manual name, periodt) and it's all about this one file:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dgtrfs.f

yes the whole path is the name, that's just how Doxygen does, don't @ me 🫢


✨ SYNOPSIS

πŸŽ€ Functions/Subroutines

okay so there's exactly one (1) icon here and she's carrying the whole page:

subroutine DGTRFS (trans, n, nrhs, dl, d, du, dlf, df, duf, du2, ipiv,
    b, ldb, x, ldx, ferr, berr, work, iwork, info)

DGTRFS. that's her. that's the whole vibe. πŸ¦‹


πŸ¦‹ Function/Subroutine Documentation

πŸ’– the full signature, no cap

subroutine DGTRFS (character trans, integer n, integer nrhs, double
    precision, dimension( * ) dl, double precision, dimension( * ) d, double
    precision, dimension( * ) du, double precision, dimension( * ) dlf,
    double precision, dimension( * ) df, double precision, dimension( * )
    duf, double precision, dimension( * ) du2, 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)

DGTRFS 🫢 (she gets her name in lights twice, she earned it)

🌸 Purpose

okay so what does she actually do: DGTRFS improves the computed solution to a system of linear equations when the coefficient matrix is tridiagonal, and she also hands you error bounds and backward error estimates for the solution. that's the whole assignment and she ate. πŸ’…

πŸ’œ Parameters

TRANS

  • TRANS is CHARACTER*1 β€” she specifies the form of the system of equations, and there are exactly three moods:
    • = 'N': A * X = B β€” No transpose
    • = 'T': A**T * X = B β€” Transpose
    • = 'C': A**H * X = B β€” Conjugate transpose = Transpose

N

  • N is INTEGER β€” the order of the matrix A. constraint check: N >= 0.

NRHS

  • NRHS is INTEGER β€” the number of right hand sides, i.e., the number of columns of the matrix B. constraint check: NRHS >= 0.

DL

  • DL is DOUBLE PRECISION array, dimension (N-1) β€” the (n-1) subdiagonal elements of A. the underlings, lowkey important.

D

  • D is DOUBLE PRECISION array, dimension (N) β€” the diagonal elements of A. main character energy, literally the diagonal.

DU

  • DU is DOUBLE PRECISION array, dimension (N-1) β€” the (n-1) superdiagonal elements of A.

DLF

  • DLF is DOUBLE PRECISION array, dimension (N-1) β€” the (n-1) multipliers that define the matrix L from the LU factorization of A as computed by DGTTRF.

DF

  • DF is DOUBLE PRECISION array, dimension (N) β€” the n diagonal elements of the upper triangular matrix U from the LU factorization of A.

DUF

  • DUF is DOUBLE PRECISION array, dimension (N-1) β€” the (n-1) elements of the first superdiagonal of U.

DU2

  • DU2 is DOUBLE PRECISION array, dimension (N-2) β€” the (n-2) elements of the second superdiagonal of U.

IPIV

  • IPIV is INTEGER array, dimension (N) β€” the pivot indices; for 1 <= i <= n, row i of the matrix was interchanged with row IPIV(i). and listen: IPIV(i) will always be either i or i+1; IPIV(i) = i indicates a row interchange was not required. no in-between, she's decisive. πŸ’€

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. constraint check: LDB >= max(1,N).

X

  • X is DOUBLE PRECISION array, dimension (LDX,NRHS) β€” On entry, the solution matrix X, as computed by DGTTRS. On exit, the improved solution matrix X. she goes in mid and comes out improved, that's growth. 🌱

LDX

  • LDX is INTEGER β€” the leading dimension of the array X. constraint check: 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). so 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). and ngl the estimate is as reliable as the estimate for RCOND, and is almost always a slight overestimate of the true error. she's a worrier, she rounds up. 😭

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) β€” no further lore, that's the whole tea.

IWORK

  • IWORK is INTEGER array, dimension (N) β€” same, no extra lore.

INFO

  • INFO is INTEGER β€” the receipts:
    • = 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 it. that's the internal parameter. she only needs one. iykyk.

πŸ‘‘ Author

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

all four of them, holding her up like the icon she is 🌈

⭐ Definition at line 206 of file dgtrfs.f.

yes exactly, 206, don't lose it, it's load-bearing. πŸ’…


πŸ‘‘ Author

Generated automatically by Doxygen for LAPACK from the source code. she wasn't hand-written, she was born that way. 🧚


okay bestie that's the whole page, go forth and improve some tridiagonal solutions πŸ’–βœ¨πŸŽ€

LAPACK β€” Version 3.12.0 β€” and the original footer was pointing at /home/abui...RC/dgtrfs.f(3). mwah, bye 🫢🌸

πŸ“¦ where this page comes from