SRC/cgtrfs.f(3)

πŸ’– SRC/cgtrfs.f πŸ’–

okay so bestie, welcome to the cgtrfs show πŸ’…


SYNOPSIS ✨

Functions/Subroutines πŸŽ€

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

CGTRFS β€” literally the main character ✨


Function/Subroutine Documentation πŸ¦‹

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

CGTRFS πŸ’œ


Purpose 🌸

so here's the vibe: CGTRFS improves the computed solution to a system of linear equations when the coefficient matrix is tridiagonal πŸ’… and it also provides error bounds and backward error estimates for the solution. that's it, that's the whole glow-up 🫢


Parameters πŸ‘‘

TRANS 🌈

TRANS is CHARACTER*1 β€” specifies the form of the system of equations, iykyk:

  • = 'N': A * X = B (No transpose)
  • = 'T': A**T * X = B (Transpose)
  • = 'C': A**H * X = B (Conjugate transpose)

N ⭐

N is INTEGER β€” the order of the matrix A. N >= 0. respect the bound fr fr πŸ’€

NRHS πŸ’–

NRHS is INTEGER β€” the number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. no cap.

DL πŸŽ€

DL is COMPLEX array, dimension (N-1) β€” the (n-1) subdiagonal elements of A. iconic.

D πŸ¦‹

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

DU 🌸

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

DLF πŸ’…

DLF is COMPLEX array, dimension (N-1) β€” the (n-1) multipliers that define the matrix L from the LU factorization of A as computed by CGTTRF. assembly required pookie πŸ”§

DF 🫢

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

DUF 😭

DUF is COMPLEX array, dimension (N-1) β€” the (n-1) elements of the first superdiagonal of U. she's giving first for a reason.

DU2 πŸ”₯

DU2 is COMPLEX array, dimension (N-2) β€” the (n-2) elements of the second superdiagonal of U. the sequel nobody asked for but slayed anyway.

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). IPIV(i) will always be either i or i+1; IPIV(i) = i indicates a row interchange was not required. lowkey chill.

B 🌈

B is COMPLEX array, dimension (LDB,NRHS) β€” the right hand side matrix B. the input.

LDB ⭐

LDB is INTEGER β€” the leading dimension of the array B. LDB >= max(1,N). read the bound, bestie πŸ™

X πŸ’–

X is COMPLEX array, dimension (LDX,NRHS) β€” on entry, the solution matrix X, as computed by CGTTRS. on exit, the improved solution matrix X. it's giving makeover montage ✨

LDX πŸŽ€

LDX is INTEGER β€” the leading dimension of the array X. LDX >= max(1,N). same energy.

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. she's slightly dramatic but honest πŸ’…

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). so precise, so demure πŸŽ€

WORK πŸ’œ

WORK is COMPLEX array, dimension (2*N) β€” the workspace, doing the actual work behind the scenes. underrated fr.

RWORK 🌈

RWORK is REAL array, dimension (N) β€” real workspace, carrying the real numbers.

INFO ⭐

INFO is INTEGER:

  • = 0: successful exit ✨ slay
  • < 0: if INFO = -i, the i-th argument had an illegal value πŸ’€ not slay
bestie if you see INFO < 0 something got messed up in the arguments. double check everything, no cap.

Internal Parameters πŸ”§

ITMAX is the maximum number of steps of iterative refinement. that's the limit, pookie. don't push it.


Author πŸ‘‘

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

the literal legends behind this 🫢


Definition πŸŽ€

Definition at line 207 of file cgtrfs.f. periodt. πŸ’…


Author (again, the meta one) 🌸

Generated automatically by Doxygen for LAPACK from the source code. she was built by the machines, no notes.


and that's the whole page bestie! written for LAPACK Version 3.12.0, landing in your terminal as SRC/cgtrfs.f(3). go improve some tridiagonal solutions, you ate that πŸ’–βœ¨πŸŽ€πŸ¦‹
πŸ“¦ where this page comes from