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)βCGTTRSsubroutine dgttrs (trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb, info)βDGTTRSsubroutine sgttrs (trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb, info)βSGTTRSsubroutine 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; for1 <= i <= n, row i of the matrix was interchanged with rowIPIV(i).IPIV(i)will always be eitheriori+1;IPIV(i) = iindicates 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; for1 <= i <= n, row i of the matrix was interchanged with rowIPIV(i).IPIV(i)will always be eitheriori+1;IPIV(i) = iindicates 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; for1 <= i <= n, row i of the matrix was interchanged with rowIPIV(i).IPIV(i)will always be eitheriori+1;IPIV(i) = iindicates 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 theDUlabel here; part 2 is where theDUdescription lives. no spoilers, bestie.DUβ aCOMPLEX*16array, dimension(N-1). It's holding the(n-1)elements of the first super-diagonal ofU. slay πDU2β aCOMPLEX*16array, dimension(N-2). Bestie, this one's carrying the(n-2)elements of the second super-diagonal ofU. iconic behavior honestly β¨IPIVβ anINTEGERarray, dimension(N). These are the pivot indices, and here's the tea π΅: for1 <= i <= n, rowiof the matrix was interchanged with rowIPIV(i). AndIPIV(i)will always be eitheriori+1β no surprises, no chaos.IPIV(i) = imeans a row interchange was not required. periodt.Bβ aCOMPLEX*16array, dimension(LDB,NRHS). On entry, this is the matrix of right hand side vectorsB. On exit? It gets overwritten by the solution vectorsX. so likeβ¦ don't get attached to your input, she's gone π«ΆLDBβ anINTEGER. It's the leading dimension of the arrayB, and the vibe check here isLDB >= max(1,N). no cap, respect the bound or catch these errors πINFOβ anINTEGER, your little status report at the end of it all π= 0: successful exit β we ate and left no crumbs π₯< 0: ifINFO = -k, thek-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
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms