/home/abui...sytrs_aa.f(3)
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zsytrs_aa.f
okay so bestie, this is the manual page for that one file π
it lives at .../zsytrs_aa.f(3) and it's filed under the Library Functions Manual, lowercase, no cap.
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine ZSYTRS_AA (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)β that's the whole squad right there, we'll meet every single one of them below π«Ά
π Function/Subroutine Documentation π
subroutine ZSYTRS_AA (character uplo, integer n, integer nrhs, complex*16,
dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv,
complex*16, dimension( ldb, * ) b, integer ldb, complex*16, dimension( *
) work, integer lwork, integer info)
ZSYTRS_AA
π Purpose π
ok so the whole point, literally:
!>
!> ZSYTRS_AA solves a system of linear equations A*X = B with a complex
!> symmetric matrix A using the factorization A = U**T*T*U or
!> A = L*T*L**T computed by ZSYTRF_AA.
!>
so yeah, it solves A*X = B, and the A it works with is a complex symmetric matrix, and you gotta feed it the factorization that ZSYTRF_AA already made for you β either A = U**T*T*U or A = L*T*L**T. it's giving "I already did the hard part, now finish it" energy π₯
π¦ Parameters π¦
UPLO
!> UPLO is CHARACTER*1
!> Specifies whether the details of the factorization are stored
!> as an upper or lower triangular matrix.
!> = 'U': Upper triangular, form is A = U**T*T*U;
!> = 'L': Lower triangular, form is A = L*T*L**T.
!>
it's a CHARACTER*1 bestie, one (1) single character, and it tells the routine whether your factorization details are chilling in the upper or lower triangular matrix:
'U'β upper triangular, form isA = U**T*T*U'L'β lower triangular, form isA = L*T*L**T
pick one, don't be weird about it π
N
!> N is INTEGER
!> The order of the matrix A. N >= 0.
!>
INTEGER, the order of matrix A, and N >= 0 β no negativity allowed, this is a positive-vibes-only zone β¨
NRHS
!> NRHS is INTEGER
!> The number of right hand sides, i.e., the number of columns
!> of the matrix B. NRHS >= 0.
!>
INTEGER, how many right hand sides you got goin' on β which is literally just the number of columns in matrix B. and yeah, NRHS >= 0. periodt.
A
!> A is COMPLEX*16 array, dimension (LDA,N)
!> Details of factors computed by ZSYTRF_AA.
!>
COMPLEX*16 array, dimension (LDA,N) β and it's holding the details of the factors that ZSYTRF_AA computed. so like, this array is the receipts from the earlier call π§Ύ
LDA
!> LDA is INTEGER
!> The leading dimension of the array A. LDA >= max(1,N).
!>
INTEGER, leading dimension of array A, and LDA >= max(1,N) β ok that max(1,N) is doing the lords work for the N = 0 girlies π
IPIV
!> IPIV is INTEGER array, dimension (N)
!> Details of the interchanges as computed by ZSYTRF_AA.
!>
INTEGER array, dimension (N) β the details of the interchanges, as computed by ZSYTRF_AA. again: receipts, already collected, just hand them over π
B
!> B is COMPLEX*16 array, dimension (LDB,NRHS)
!> On entry, the right hand side matrix B.
!> On exit, the solution matrix X.
!>
COMPLEX*16 array, dimension (LDB,NRHS) β and here's the glow-up moment: on entry it's the right hand side matrix B, and on exit it's the solution matrix X. same array, whole new identity. main character energy fr fr π
LDB
!> LDB is INTEGER
!> The leading dimension of the array B. LDB >= max(1,N).
!>
INTEGER, leading dimension of array B, and LDB >= max(1,N). same rule as LDA, but for the B girlies π
WORK
!> WORK is COMPLEX*16 array, dimension (MAX(1,LWORK))
!>
COMPLEX*16 array, dimension (MAX(1,LWORK)) β the workspace. it's giving behind-the-scenes crew, unappreciated but essential π
LWORK
!> LWORK is INTEGER
!> The dimension of the array WORK. LWORK >= max(1,3*N-2).
!>
INTEGER, the dimension of the array WORK, and LWORK >= max(1,3*N-2). write that down: 3*N-2. not 3*N-1, not 3*N, it's 3*N-2 and it's lowkey iconic for it πΈ
INFO
!> INFO is INTEGER
!> = 0: successful exit
!> < 0: if INFO = -i, the i-th argument had an illegal value
!>
INTEGER, the vibe check at the end:
= 0β successful exit, we ate, no crumbs π< 0β ifINFO = -i, the i-th argument had an illegal value. not me pointing at exactly which argument fumbled π
π Author π
the brains behind it:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 129 of file zsytrs_aa.f. β¨ (line 129 specifically, bestie, don't go looking at line 128)
π«Ά Author π«Ά
Generated automatically by Doxygen for LAPACK from the source code. so nobody hand-wrote this, it's a robot doing its little robot thing π€π
ngl this whole page is your cheat sheet:UPLOpicks upper/lower,A+IPIVare the receipts fromZSYTRF_AA,Bgoes in as the right hand side and comes out asX, andINFO = 0means you're slaying.
β LAPACK, Version 3.12.0, /home/abui...sytrs_aa.f(3), mwah π
π¦ 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