/home/abui.../dsytrs2.f(3)
π /home/abui.../dsytrs2.f(3) π
okay so bestie, grab ur matcha π because this page is from the Library Functions Manual and it's literally all about one (1) Fortran subroutine that solves linear systems. yes that kind. the symmetric kind. slay.
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dsytrs2.f
that's the whole name. it's a path. it's giving "my parents named me after the street they lived on." iconic honestly π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine DSYTRS2 (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, info)
DSYTRS2
that's it. that's the vibe check. π¦
π Function/Subroutine Documentation π
subroutine DSYTRS2 (character uplo, integer n, integer nrhs, double
precision, dimension( lda, * ) a, integer lda, integer, dimension( * )
ipiv, double precision, dimension( ldb, * ) b, integer ldb, double
precision, dimension( * ) work, integer info)
DSYTRS2. say it with me. DSYTRS2. π
π Purpose:
!>
!> DSYTRS2 solves a system of linear equations A*X = B with a real
!> symmetric matrix A using the factorization A = U*D*U**T or
!> A = L*D*L**T computed by DSYTRF and converted by DSYCONV.
!>
so basically: you hand it A*X = B, where A is a real symmetric matrix, and it's like "say less" and solves it. but only if you already did the factorization homework (A = U*D*U**T or A = L*D*L**T via DSYTRF, converted by DSYCONV). it's not doing the whole thing for you, it's the final-boss step. main character energy but make it linear algebra π₯
π§ Parameters π§
UPLOβUPLO is CHARACTER*1. this tells it whether the factorization details are chilling in an upper or lower triangular matrix.= 'U': upper triangular, form isA = U*D*U**T;= 'L': lower triangular, form isA = L*D*L**T. pick one, bestie, it's not that deep πNβN is INTEGER. the order of the matrixA.N >= 0. keep it non-negative or it will simply not. πNRHSβNRHS is INTEGER. the number of right hand sides, likeβ¦ the number of columns of the matrixB.NRHS >= 0. also non-negative, also non-negotiable. β¨AβA is DOUBLE PRECISION array, dimension (LDA,N). this is the block diagonal matrixDplus the multipliers used to obtain the factorUorL, as computed by DSYTRF.
π¨ okay this is the part everyone gets wrong:Ais input / output. yes really. it's counter-intuitive, and you might thinkAis input only, but nope βAis input / output. and the reason is honestly kind of cute: at the start of the subroutine it permutesAinto a form, and then at the end it permutesAright back to its original form. round trip. it comes home. π«Ά
LDAβLDA is INTEGER. the leading dimension of the arrayA.LDA >= max(1,N). respect the max, it's a boundary thing. πΈIPIVβIPIV is INTEGER array, dimension (N). details of the interchanges and the block structure ofD, as determined by DSYTRF. receipts from the previous function, basically. π§ΎBβB is DOUBLE PRECISION array, dimension (LDB,NRHS). on entry, it's the right hand side matrixB. on exit, it's the solution matrixX. glow-up arc, honestly. βLDBβLDB is INTEGER. the leading dimension of the arrayB.LDB >= max(1,N). same energy asLDA. πWORKβWORK is DOUBLE PRECISION array, dimension (N). it's the workspace. it works. that's the whole description and we respect the minimalism. πINFOβINFO is INTEGER. the vibe report:= 0: successful exit π< 0: ifINFO = -i, the i-th argument had an illegal value π
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad collaborated. group project but everyone actually pulled their weight. π
Definition at line 130 of file dsytrs2.f. (not line 129, not line 131. 130. periodt.) π
π« Author (the footer one)
Generated automatically by Doxygen for LAPACK from the source code. so nobody hand-wrote this page β a robot did it, and honestly? it ate. π€β¨
and that's the whole page, bestie! π¦ no cap, every flag, every bound, every max(1,N) accounted for. iykyk π
LAPACK Β· Version 3.12.0 Β· /home/abui.../dsytrs2.f(3) β mwah, see u in the next manpage ππ
π¦ 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