/home/abui...RC/zgtsv.f(3)
π¦ /home/abui...RC/zgtsv.f(3) β the ZGTSV glow-up β¨
okay so bestie, welcome to the manual page for /home/abui...RC/zgtsv.f(3) from the Library Functions Manual. buckle up, we're solving tridiagonal systems and we're gonna look cute doing it π
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zgtsv.f
like yes, that's the whole name, it's giving "my parents named me after the filing cabinet" but honestly? iconic. that's the source file, that's where the magic lives π«Ά
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine ZGTSV (n, nrhs, dl, d, du, b, ldb, info)β ZGTSV computes the solution to system of linear equationsA * X = Bfor GT matrices
π Function/Subroutine Documentation π
subroutine ZGTSV (integer n, integer nrhs, complex*16, dimension( * ) dl,
complex*16, dimension( * ) d, complex*16, dimension( * ) du, complex*16,
dimension( ldb, * ) b, integer ldb, integer info)
ZGTSV computes the solution to system of linear equations A * X = B for GT matrices. that's the whole vibe, no cap π₯
π Purpose π
!>
!> ZGTSV solves the equation
!>
!> A*X = B,
!>
!> where A is an N-by-N tridiagonal matrix, by Gaussian elimination with
!> partial pivoting.
!>
!> Note that the equation A**T *X = B may be solved by interchanging the
!> order of the arguments DU and DL.
!>
so like, A is an N-by-N tridiagonal matrix and we're solving it with Gaussian elimination with partial pivoting. main character algorithm behavior honestly π
and the little note that lives rent free in my head: you can solve A**T *X = B by just swapping the order of the arguments DU and DL. literally just vibes and a swap. iykyk π«
π§ Parameters π§
N
!> N is INTEGER
!> The order of the matrix A. N >= 0.
the order of the matrix A. N >= 0, periodt.
NRHS
!> NRHS is INTEGER
!> The number of right hand sides, i.e., the number of columns
!> of the matrix B. NRHS >= 0.
the number of right hand sides, aka the number of columns of the matrix B. NRHS >= 0, slay.
DL
!> DL is COMPLEX*16 array, dimension (N-1)
!> On entry, DL must contain the (n-1) subdiagonal elements of
!> A.
!> On exit, DL is overwritten by the (n-2) elements of the
!> second superdiagonal of the upper triangular matrix U from
!> the LU factorization of A, in DL(1), ..., DL(n-2).
COMPLEX*16 array, dimension (N-1). on entry it HAS to have the (n-1) subdiagonal elements of A. on exit it gets overwritten (glow-down, not glow-up π) by the (n-2) elements of the second superdiagonal of the upper triangular matrix U from the LU factorization of A, sitting pretty in DL(1), ..., DL(n-2).
D
!> D is COMPLEX*16 array, dimension (N)
!> On entry, D must contain the diagonal elements of A.
!> On exit, D is overwritten by the n diagonal elements of U.
COMPLEX*16 array, dimension (N). on entry, the diagonal elements of A. on exit, overwritten by the n diagonal elements of U. she got a whole new identity, honestly relatable π
DU
!> DU is COMPLEX*16 array, dimension (N-1)
!> On entry, DU must contain the (n-1) superdiagonal elements
!> of A.
!> On exit, DU is overwritten by the (n-1) elements of the first
!> superdiagonal of U.
COMPLEX*16 array, dimension (N-1). on entry, the (n-1) superdiagonal elements of A. on exit, overwritten by the (n-1) elements of the first superdiagonal of U.
B
!> B is COMPLEX*16 array, dimension (LDB,NRHS)
!> On entry, the N-by-NRHS right hand side matrix B.
!> On exit, if INFO = 0, the N-by-NRHS solution matrix X.
COMPLEX*16 array, dimension (LDB,NRHS). on entry, the N-by-NRHS right hand side matrix B. on exit, if INFO = 0, it's the N-by-NRHS solution matrix X. she graduated from right-hand-side to solution, we love a transformation arc π
LDB
!> LDB is INTEGER
!> The leading dimension of the array B. LDB >= max(1,N).
INTEGER. the leading dimension of the array B, and it better be LDB >= max(1,N). respect the constraint or don't come to the function π
INFO
!> INFO is INTEGER
!> = 0: successful exit
!> < 0: if INFO = -i, the i-th argument had an illegal value
!> > 0: if INFO = i, U(i,i) is exactly zero, and the solution
!> has not been computed. The factorization has not been
!> completed unless i = N.
INTEGER, our little status reporter:
= 0: successful exit π< 0: ifINFO = -i, the i-th argument had an illegal value π> 0: ifINFO = i,U(i,i)is exactly zero and the solution has not been computed. the factorization has not been completed unlessi = Nπ
β οΈ real talk bestie: a zero on the diagonal is a whole situation, the solution does NOT exist in that case, don't come for me, come for U(i,i).
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad, the founding mothers and fathers of this routine π«Ά
π Definition at line 123 of file zgtsv.f.
like, line one-two-three, that's where she lives β¨
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
(so nobody hand-wrote this, the robot did it, and honestly? the robot ate π€π )
π the cute sign-off π
this page came to you courtesy of LAPACK, Version 3.12.0, and it's filed under /home/abui...RC/zgtsv.f(3) β that's the date and the source, bestie, all wrapped up with a bow π
now go solve that tridiagonal system. A*X = B era. you got this ππ¦β¨
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms