/home/abui...RC/dptsv.f(3)
π NAME
So this page is <pink>/home/abui...RC/dptsv.f(3)</pink> from the Library Functions Manual β and the file she's documenting is literally:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dptsv.f
That's the whole path bestie, yes it's that long, no we're not shortening it. π«Ά
β¨ SYNOPSIS β¨
Functions/Subroutines
Ok so here's the little cast list, one entry:
subroutine DPTSV (n, nrhs, d, e, b, ldb, info)
DPTSV computes the solution to system of linear equations A * X = B
for PT matrices
That's it. One subroutine. One icon. She doesn't need a whole ensemble. π
π Function/Subroutine Documentation π
Here's the full signature, verbatim, because we do not play with argument order around here:
subroutine DPTSV (integer n, integer nrhs, double precision, dimension( * )
d, double precision, dimension( * ) e, double precision, dimension( ldb,
* ) b, integer ldb, integer info)
DPTSV computes the solution to system of linear equations A * X = B for PT matrices β that's the whole glow-up, that's the pitch, we love a concise queen.
πΈ Purpose πΈ
!> DPTSV computes the solution to a real system of linear equations !> A*X = B, where A is an N-by-N symmetric positive definite tridiagonal !> matrix, and X and B are N-by-NRHS matrices. !> !> A is factored as A = L*D*L**T, and the factored form of A is then !> used to solve the system of equations.
So basically: A is tridiagonal (only three cute little diagonals), symmetric, and positive definite. She factors it into L*D*L**T and then uses that factored form to solve A*X = B for you. Efficient? Slay. Extra matrix guts? None. Periodt. π
π Parameters π
Timezone check, here's everyone in the group chat:
Nβ N is INTEGER. The order of the matrix A. Constraint:N >= 0. That's the vibe check on how big A is allowed to be.NRHSβ NRHS is INTEGER. The number of right hand sides, aka the number of columns of the matrix B (same thing, different outfit). Constraint:NRHS >= 0.Dβ D is DOUBLE PRECISION array, dimension (N). On entry: thendiagonal elements of the tridiagonal matrix A. On exit: thendiagonal elements of the diagonal matrix D from the factorizationA = L*D*L**T. So she checks in as A's diagonal and clocks out as D's diagonal. Main character transformation arc, honestly. πEβ E is DOUBLE PRECISION array, dimension (N-1). On entry: the(n-1)subdiagonal elements of the tridiagonal matrix A. On exit: the(n-1)subdiagonal elements of the unit bidiagonal factor L from theL*D*L**Tfactorization of A. Also β no cap βEcan also be regarded as the superdiagonal of the unit bidiagonal factor U from theU**T*D*Ufactorization of A. Versatile icon. π¦Bβ B is DOUBLE PRECISION array, dimension (LDB,NRHS). On entry: the N-by-NRHS right hand side matrix B. On exit, ifINFO = 0: the N-by-NRHS solution matrix X. She literally becomes the answer. not me crying over a matrix πLDBβ LDB is INTEGER. The leading dimension of the array B. Constraint:LDB >= max(1,N). Respect the leading dimension or she will not respect you back. πINFOβ INFO is INTEGER. The receipts:= 0:successful exit. π< 0:ifINFO = -i, the i-th argument had an illegal value. Somebody passed a bad argument, and INFO is naming names.> 0:ifINFO = i, the leading principal minor of order i is not positive, and the solution has not been computed. The factorization has not been completed unlessi = N.
β οΈ Real talk: thatINFO > 0case means you get nothing. No solution. The factorization bailed unlessi = N. If you see a positive INFO, do not go looking for your X matrix, she is not there. π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Four institutions, one subroutine. Collab of the century fr fr. π«Ά
Definition at line 113 of file dptsv.f.
Yes, 113. Go look, she's right there, line 113, living her best life. β
π§ Author (the meta one)
Generated automatically by Doxygen for LAPACK, straight from the source code. Not a human, just a very diligent little robot doing its thing. Be nice to it. π
That's the whole page bestie β every flag, every array, every exit code, every author, all of it, nothing dropped. This is LAPACK, Version 3.12.0, and the page is <lavender>/home/abui...RC/dptsv.f(3)</lavender> β go forth, solve your tridiagonal systems, and remember: if INFO comes back positive, that's not a slay, that's a rerun. πβ¨π
π¦ 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