gttrs(3)

okay bestie, welcome to gttrs(3) from the Library Functions Manual β€” it’s giving β€œtriangular solve using factor” main character energy, and we’re gonna get through it together. πŸ’…βœ¨

πŸ’– NAME πŸ’–

gttrs β€” gttrs: triangular solve using factor πŸŽ€


✨ SYNOPSIS ✨

πŸ¦‹ Functions πŸ¦‹

Here’s the subroutine squad, with signatures copied exactly because we do not play with technical details, no cap: 🫢

  • subroutine cgttrs (trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb, info) β€” CGTTRS
  • subroutine dgttrs (trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb, info) β€” DGTTRS
  • subroutine sgttrs (trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb, info) β€” SGTTRS
  • subroutine zgttrs (trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb, info) β€” ZGTTRS

🌈 DETAILED DESCRIPTION 🌈

okay so the page literally says Detailed Description and then slides right into the function docs. There’s no extra lore here, bestie β€” just the docs below. ✨


πŸŽ€ FUNCTION DOCUMENTATION πŸŽ€

This is the main event: cgttrs, dgttrs, sgttrs, and zgttrs, each solving a tridiagonal system after an LU factorization. Let’s go. πŸ’…

πŸ‘‘ cgttrs β€” CGTTRS πŸ‘‘

subroutine cgttrs (character trans, integer n, integer nrhs, complex,
    dimension( * ) dl, complex, dimension( * ) d, complex, dimension( * )
    du, complex, dimension( * ) du2, integer, dimension( * ) ipiv, complex,
    dimension( ldb, * ) b, integer ldb, integer info)

CGTTRS

🌟 Purpose 🌟

CGTTRS solves one of these systems of equations:

A * X = B,  A**T * X = B,  or  A**H * X = B,

with a tridiagonal matrix A using the LU factorization computed by CGTTRF. iconic. ✨

🧚 Parameters 🧚

  • TRANS β€” TRANS is CHARACTER*1. It 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)
  • N β€” N is INTEGER. The order of the matrix A. πŸ’…
  • NRHS β€” NRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. 🫢
  • DL β€” DL is COMPLEX array, dimension (N-1). The (n-1) multipliers that define the matrix L from the LU factorization of A.
  • D β€” D is COMPLEX array, dimension (N). The n diagonal elements of the upper triangular matrix U from the LU factorization of A.
  • DU β€” DU is COMPLEX array, dimension (N-1). The (n-1) elements of the first super-diagonal of U.
  • DU2 β€” DU2 is COMPLEX array, dimension (N-2). The (n-2) elements of the second super-diagonal 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). IPIV(i) will always be either i or i+1; IPIV(i) = i indicates a row interchange was not required.
  • B β€” B is COMPLEX array, dimension (LDB,NRHS). On entry, the matrix of right hand side vectors B. On exit, B is overwritten by the solution vectors X.
  • LDB β€” LDB is INTEGER. The leading dimension of the array B. LDB >= max(1,N).
  • INFO β€” INFO is INTEGER:
    • = 0: successful exit
    • < 0: if INFO = -k, the k-th argument had an illegal value

🫢 Author 🫢

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

Definition at line 136 of file cgttrs.f.


πŸ’œ dgttrs β€” DGTTRS πŸ’œ

subroutine dgttrs (character trans, integer n, integer nrhs, double
    precision, dimension( * ) dl, double precision, dimension( * ) d, double
    precision, dimension( * ) du, double precision, dimension( * ) du2,
    integer, dimension( * ) ipiv, double precision, dimension( ldb, * ) b,
    integer ldb, integer info)

DGTTRS

🌟 Purpose 🌟

DGTTRS solves one of these systems of equations:

A*X = B  or  A**T*X = B,

with a tridiagonal matrix A using the LU factorization computed by DGTTRF. slay. ✨

🧚 Parameters 🧚

  • TRANS β€” TRANS is CHARACTER*1. It specifies the form of the system of equations:
    • = 'N': A * X = B (No transpose)
    • = 'T': A**T* X = B (Transpose)
    • = 'C': A**T* X = B (Conjugate transpose = Transpose)
  • N β€” N is INTEGER. The order of the matrix A. πŸ’…
  • NRHS β€” NRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. 🫢
  • DL β€” DL is DOUBLE PRECISION array, dimension (N-1). The (n-1) multipliers that define the matrix L from the LU factorization of A.
  • D β€” D is DOUBLE PRECISION array, dimension (N). The n diagonal elements of the upper triangular matrix U from the LU factorization of A.
  • DU β€” DU is DOUBLE PRECISION array, dimension (N-1). The (n-1) elements of the first super-diagonal of U.
  • DU2 β€” DU2 is DOUBLE PRECISION array, dimension (N-2). The (n-2) elements of the second super-diagonal 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). IPIV(i) will always be either i or i+1; IPIV(i) = i indicates a row interchange was not required.
  • B β€” B is DOUBLE PRECISION array, dimension (LDB,NRHS). On entry, the matrix of right hand side vectors B. On exit, B is overwritten by the solution vectors X.
  • LDB β€” LDB is INTEGER. The leading dimension of the array B. LDB >= max(1,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 136 of file dgttrs.f.


🌸 sgttrs β€” SGTTRS 🌸

subroutine sgttrs (character trans, integer n, integer nrhs, real,
    dimension( * ) dl, real, dimension( * ) d, real, dimension( * ) du,
    real, dimension( * ) du2, integer, dimension( * ) ipiv, real, dimension(
    ldb, * ) b, integer ldb, integer info)

SGTTRS

🌟 Purpose 🌟

SGTTRS solves one of these systems of equations:

A*X = B  or  A**T*X = B,

with a tridiagonal matrix A using the LU factorization computed by SGTTRF. periodt. ✨

🧚 Parameters 🧚

  • TRANS β€” TRANS is CHARACTER*1. It specifies the form of the system of equations:
    • = 'N': A * X = B (No transpose)
    • = 'T': A**T* X = B (Transpose)
    • = 'C': A**T* X = B (Conjugate transpose = Transpose)
  • N β€” N is INTEGER. The order of the matrix A. πŸ’…
  • NRHS β€” NRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. 🫢
  • DL β€” DL is REAL array, dimension (N-1). The (n-1) multipliers that define the matrix L from the LU factorization of A.
  • D β€” D is REAL array, dimension (N). The n diagonal elements of the upper triangular matrix U from the LU factorization of A.
  • DU β€” DU is REAL array, dimension (N-1). The (n-1) elements of the first super-diagonal of U.
  • DU2 β€” DU2 is REAL array, dimension (N-2). The (n-2) elements of the second super-diagonal 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). IPIV(i) will always be either i or i+1; IPIV(i) = i indicates a row interchange was not required.
  • B β€” B is REAL array, dimension (LDB,NRHS). On entry, the matrix of right hand side vectors B. On exit, B is overwritten by the solution vectors X.
  • LDB β€” LDB is INTEGER. The leading dimension of the array B. LDB >= max(1,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 136 of file sgttrs.f.


πŸ¦‹ zgttrs β€” ZGTTRS πŸ¦‹

subroutine zgttrs (character trans, integer n, integer nrhs, complex*16,
    dimension( * ) dl, complex*16, dimension( * ) d, complex*16, dimension(
    * ) du, complex*16, dimension( * ) du2, integer, dimension( * ) ipiv,
    complex*16, dimension( ldb, * ) b, integer ldb, integer info)

ZGTTRS

🌟 Purpose 🌟

ZGTTRS solves one of these systems of equations:

A * X = B,  A**T * X = B,  or  A**H * X = B,

with a tridiagonal matrix A using the LU factorization computed by ZGTTRF. highkey iconic. ✨

🧚 Parameters 🧚

  • TRANS β€” TRANS is CHARACTER*1. It 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)
  • N β€” N is INTEGER. The order of the matrix A. πŸ’…
  • NRHS β€” NRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0. 🫢
  • DL β€” DL is COMPLEX*16 array, dimension (N-1). The (n-1) multipliers that define the matrix L from the LU factorization of A.
  • D β€” D is COMPLEX*16 array, dimension (N). The n diagonal elements of the upper triangular matrix U from the LU factorization of A.
  • DU β€” 🫢 the original page cuts off at the DU label here; part 2 is where the DU description lives. no spoilers, bestie.
  • DU β€” a COMPLEX*16 array, dimension (N-1). It's holding the (n-1) elements of the first super-diagonal of U. slay πŸ’…
  • DU2 β€” a COMPLEX*16 array, dimension (N-2). Bestie, this one's carrying the (n-2) elements of the second super-diagonal of U. iconic behavior honestly ✨
  • IPIV β€” an INTEGER array, dimension (N). These are the pivot indices, and here's the tea 🍡: for 1 <= i <= n, row i of the matrix was interchanged with row IPIV(i). And IPIV(i) will always be either i or i+1 β€” no surprises, no chaos. IPIV(i) = i means a row interchange was not required. periodt.
  • B β€” a COMPLEX*16 array, dimension (LDB,NRHS). On entry, this is the matrix of right hand side vectors B. On exit? It gets overwritten by the solution vectors X. so like… don't get attached to your input, she's gone 🫢
  • LDB β€” an INTEGER. It's the leading dimension of the array B, and the vibe check here is LDB >= max(1,N). no cap, respect the bound or catch these errors 😭
  • INFO β€” an INTEGER, your little status report at the end of it all πŸ’–
    • = 0: successful exit β€” we ate and left no crumbs πŸ”₯
    • < 0: if INFO = -k, the k-th argument had an illegal value. not me pointing fingers πŸ’€

πŸ‘‘ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 136 of file zgttrs.f.


🌈 Author (again, yes really)

Generated automatically by Doxygen for LAPACK from the source code. so the robots did the paperwork, we just live here πŸ§šβ€β™€οΈ


okay bestie that's the whole page, you made it to the end, I'm so proud of you πŸŽ€ this lil beauty is from LAPACK, Version 3.12.0 β€” gttrs(3), go forth and solve those tridiagonal systems, mwah πŸ’œβœ¨

πŸ“¦ where this page comes from