ZSYTRS_3(3)
π ZSYTRS_3(3) β the solve-the-system one π
okay so bestie, this page lives at /home/abui.../zsytrs_3.f(3) (yes the path is giving "buried in a build tree" energy, we love her anyway) and it's from the LAPACK Library Functions Manual. Buckle up, it's a Fortran subroutine and she's iconic β¨
πΈ SYNOPSIS πΈ
Functions/Subroutines:
subroutine ZSYTRS_3 (uplo, n, nrhs, a, lda, e, ipiv, b, ldb, info)
ZSYTRS_3
π Function/Subroutine Documentation π
subroutine ZSYTRS_3 (character uplo, integer n, integer nrhs, complex*16,
dimension( lda, * ) a, integer lda, complex*16, dimension( * ) e,
integer, dimension( * ) ipiv, complex*16, dimension( ldb, * ) b, integer
ldb, integer info)
ZSYTRS_3 π (that's her name, that's her whole brand)
β¨ Purpose β¨
okay so real talk: ZSYTRS_3 solves a system of linear equations A * X = B with a complex symmetric matrix A, using the factorization computed by ZSYTRF_RK or ZSYTRF_BK:
A = P*U*D*(U**T)*(P**T) or A = P*L*D*(L**T)*(P**T),
where U (or L) is a unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. no cap, that's the whole structure π«Ά
This algorithm is using Level 3 BLAS. she's fast like that π₯
π Parameters π
UPLOβUPLOisCHARACTER*1. it specifies whether the details of the factorization are stored as an upper or lower triangular matrix, and the vibes differ:= 'U':upper triangular, form isA = P*U*D*(U**T)*(P**T);= 'L':lower triangular, form isA = P*L*D*(L**T)*(P**T).
NβNisINTEGER. the order of the matrixA.N >= 0. (yes she can be zero, she's valid π)NRHSβNRHSisINTEGER. the number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.AβAisCOMPLEX*16array, dimension(LDA,N). On entry it holds the diagonal of the block diagonal matrixDand the factorsUorLas computed byZSYTRF_RKandZSYTRF_BK, literally like this:- a) ONLY diagonal elements of the symmetric block diagonal matrix
Don the diagonal ofA, i.e.D(k,k) = A(k,k);(the superdiagonal (or subdiagonal) elements ofDshould be provided on entry in arrayE), and - b) If
UPLO = 'U':factorUin the superdiagonal part ofA. IfUPLO = 'L':factorLin the subdiagonal part ofA.
- a) ONLY diagonal elements of the symmetric block diagonal matrix
LDAβLDAisINTEGER. the leading dimension of the arrayA.LDA >= max(1,N). respect the leading dimension bestie πEβEisCOMPLEX*16array, dimension(N). On entry, contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrixDwith 1-by-1 or 2-by-2 diagonal blocks, where:- If
UPLO = 'U':E(i) = D(i-1,i),i=2:N, E(1) not referenced; - If
UPLO = 'L':E(i) = D(i+1,i),i=1:N-1, E(N) not referenced.
- If
NOTE: for a 1-by-1 diagonal blockD(k), where1 <= k <= N, the elementE(k)is not referenced in bothUPLO = 'U'orUPLO = 'L'cases. so don't come for her about that slot, it's just vibing πΈ
IPIVβIPIVisINTEGERarray, dimension(N). the details of the interchanges and the block structure ofDas determined byZSYTRF_RKorZSYTRF_BK. she knows things πBβBisCOMPLEX*16array, dimension(LDB,NRHS). On entry, the right hand side matrixB. On exit, the solution matrixX. glow-up moment, literally main character energy β¨LDBβLDBisINTEGER. the leading dimension of the arrayB.LDB >= max(1,N).INFOβINFOisINTEGER:= 0:successful exit π< 0:ifINFO = -i, the i-th argument had an illegal value π (so check your args, bestie, she will clock you)
π¦ Author π¦
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Contributors π
- June 2017, Igor Kozachenko, Computer Science Division, University of California, Berkeley
- September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas, School of Mathematics, University of Manchester
β Definition β
Definition at line 163 of file zsytrs_3.f. yes, line 163, we counted π
π Author (of this page, not the subroutine) π
Generated automatically by Doxygen for LAPACK from the source code. so nobody hand-wrote this one, the robots ate π€β¨
okay that's the whole page, no notes, she ate and left no crumbs ππ«Ά
LAPACK β Version 3.12.0 β /home/abui.../zsytrs_3.f(3) β mwah, bye bestie ππ§ββοΈπ
π¦ 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