CSYCONVF(3)
π CSYCONVF(3) β bestie edition
okay so this page lives at /home/abui.../csyconvf.f(3) in the Library Functions Manual, and honestly? it's a glow-up page. it's the kind of routine that doesn't do math so much as redress the math β swapping factorization formats like outfits. slay.
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/csyconvf.f
that's the file, that's the whole name section, we move π
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine CSYCONVF (uplo, way, n, a, lda, e, ipiv, info)
CSYCONVF β yes that's the whole description the synopsis gives us, she's mysterious like that π
π¦ Function/Subroutine Documentation π¦
subroutine CSYCONVF (character uplo, character way, integer n, complex,
dimension( lda, * ) a, integer lda, complex, dimension( * ) e, integer,
dimension( * ) ipiv, integer info)
CSYCONVF β again, icon behavior. now let's get into it π
π Purpose π
okay so bestie, listen:
if parameter WAY = 'C':
CSYCONVF converts the factorization output format used inCSYTRFβ the one you hand in through parameterAβ into the factorization output format used inCSYTRF_RK(orCSYTRF_BK), and that converted version gets stored on exit in parametersAandE. it also converts, in place, the details of the interchanges stored inIPIVfrom the format used inCSYTRFinto the format used inCSYTRF_RK(orCSYTRF_BK). π«
if parameter WAY = 'R':
CSYCONVF performs the conversion in the reverse direction β i.e. it converts the factorization output format used inCSYTRF_RK(orCSYTRF_BK), handed in through parametersAandE, into the factorization output format used inCSYTRF, which is stored on exit in parameterA. it also converts, in place, the details of the interchanges stored inIPIVfrom theCSYTRF_RK(orCSYTRF_BK) format into theCSYTRFformat. π
and the fun part: CSYCONVF can also convert in the Hermitian matrix case, i.e. between the formats used in CHETRF and CHETRF_RK (or CHETRF_BK). it's giving versatility, no cap π¦
π Parameters π
UPLO
UPLOisCHARACTER*1specifies whether the details of the factorization are stored as an upper or lower triangular matrixA. -= 'U': Upper triangular -= 'L': Lower triangular
WAY
WAYisCHARACTER*1-= 'C': Convert -= 'R': Revert
N
NisINTEGERthe order of the matrixA.N >= 0.
A
AisCOMPLEXarray, dimension(LDA,N)
1) If WAY ='C':
on entry, contains factorization details in the format used inCSYTRF: - a) all elements of the symmetric block diagonal matrixDon the diagonal ofAand on superdiagonal (or subdiagonal) ofA, and - b) IfUPLO = 'U': multipliers used to obtain factorUin the superdiagonal part ofA. IfUPLO = 'L': multipliers used to obtain factorLin the superdiagonal part ofA. on exit, contains factorization details in the format used inCSYTRF_RKorCSYTRF_BK: - a) ONLY diagonal elements of the symmetric block diagonal matrixDon the diagonal ofA, i.e.D(k,k) = A(k,k); (superdiagonal (or subdiagonal) elements ofDare stored on exit in arrayE), and - b) IfUPLO = 'U': factorUin the superdiagonal part ofA. IfUPLO = 'L': factorLin the subdiagonal part ofA.
2) If WAY = 'R':
on entry, contains factorization details in the format used inCSYTRF_RKorCSYTRF_BK: - a) ONLY diagonal elements of the symmetric block diagonal matrixDon the diagonal ofA, i.e.D(k,k) = A(k,k); (superdiagonal (or subdiagonal) elements ofDare stored on exit in arrayE), and - b) IfUPLO = 'U': factorUin the superdiagonal part ofA. IfUPLO = 'L': factorLin the subdiagonal part ofA. on exit, contains factorization details in the format used inCSYTRF: - a) all elements of the symmetric block diagonal matrixDon the diagonal ofAand on superdiagonal (or subdiagonal) ofA, and - b) IfUPLO = 'U': multipliers used to obtain factorUin the superdiagonal part ofA. IfUPLO = 'L': multipliers used to obtain factorLin the superdiagonal part ofA.
LDA
LDAisINTEGERthe leading dimension of the arrayA.LDA >= max(1,N).
E
EisCOMPLEXarray, dimension(N)
1) If WAY ='C':
on entry, just a workspace. on exit, contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrixDwith 1-by-1 or 2-by-2 diagonal blocks, where: - IfUPLO = 'U':E(i) = D(i-1,i),i=2:N,E(1)is set to 0; - IfUPLO = 'L':E(i) = D(i+1,i),i=1:N-1,E(N)is set to 0.
2) If WAY = 'R':
on entry, contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrixDwith 1-by-1 or 2-by-2 diagonal blocks, where: - IfUPLO = 'U':E(i) = D(i-1,i),i=2:N,E(1)not referenced; - IfUPLO = 'L':E(i) = D(i+1,i),i=1:N-1,E(N)not referenced. on exit, is not changed π«Ά
IPIV
IPIVisINTEGERarray, dimension(N)
1) If WAY ='C':
on entry, details of the interchanges and the block structure ofDin the format used inCSYTRF. on exit, details of the interchanges and the block structure ofDin the format used inCSYTRF_RK(orCSYTRF_BK).
1) If WAY ='R':
on entry, details of the interchanges and the block structure ofDin the format used inCSYTRF_RK(orCSYTRF_BK). on exit, details of the interchanges and the block structure ofDin the format used inCSYTRF.
(yes, the original really does label both of those "1)" β we do not fix, we do not edit, we preserve the lore π)
INFO
INFOisINTEGER-= 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.
π Contributors: π
November 2017, Igor Kozachenko, Computer Science Division, University of California, Berkeley
π§ Definition at line 208 of file csyconvf.f. π§
β Author β
generated automatically by Doxygen for LAPACK from the source code. not a human, just a very efficient little bot doing its thing β¨
that's the whole page bestie, every single parameter, every UPLO, every WAY, every E(1) and E(N), every block-diagonal D, preserved with love π
she's LAPACK, Version 3.12.0, and the file is /home/abui.../csyconvf.f(3) β go convert some formats, you absolute main character π«Άπ
π
π¦ 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