SRC/csyconvf_rook.f(3)
π SRC/csyconvf_rook.f(3) π
okay bestie, welcome to the SRC/csyconvf_rook.f(3) page from the Library Functions Manual. this is the CSYCONVF_ROOK lore, and weβre keeping every single detail because thatβs the whole point. πβ¨
π NAME π
SRC/csyconvf_rook.f
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine csyconvf_rook (uplo, way, n, a, lda, e, ipiv, info)
CSYCONVF_ROOK
πΈ Function/Subroutine Documentation πΈ
subroutine csyconvf_rook (character uplo, character way, integer n, complex,
dimension( lda, * ) a, integer lda, complex, dimension( * ) e, integer,
dimension( * ) ipiv, integer info)
CSYCONVF_ROOK
π― Purpose π―
okay so if parameter WAY = 'C': CSYCONVF_ROOK converts the factorization output format used in CSYTRF_ROOK provided on entry in parameter A into the factorization output format used in CSYTRF_RK (or CSYTRF_BK) that is stored on exit in parameters A and E. the IPIV format for CSYTRF_ROOK and CSYTRF_RK (or CSYTRF_BK) is the same and is not converted. no cap. π«Ά
if parameter WAY = 'R': CSYCONVF_ROOK performs the conversion in reverse direction, i.e. converts the factorization output format used in CSYTRF_RK (or CSYTRF_BK) provided on entry in parameters A and E into the factorization output format used in CSYTRF_ROOK that is stored on exit in parameter A. again, the IPIV format for CSYTRF_ROOK and CSYTRF_RK (or CSYTRF_BK) is the same and is not converted. π
CSYCONVF_ROOK can also convert in Hermitian matrix case, i.e. between formats used in CHETRF_ROOK and CHETRF_RK (or CHETRF_BK). iconic. π
π§ Parameters π§
UPLOβUPLOisCHARACTER*1. it specifies 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βNisINTEGER. the order of the matrixA.N >= 0. βAβAisCOMPLEX array, dimension (LDA,N).- 1) If
WAY ='C': On entry, contains factorization details in format used inCSYTRF_ROOK:- a) all elements of the symmetric block diagonal matrix
Don the diagonal ofAand on superdiagonal (or subdiagonal) ofA, and - b) If
UPLO = '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 format used inCSYTRF_RKorCSYTRF_BK: - a) ONLY diagonal elements of the symmetric block diagonal matrix
Don the diagonal ofA, i.e.D(k,k) = A(k,k);(superdiagonal (or subdiagonal) elements ofDare stored on exit in arrayE), and - b) If
UPLO = 'U': factorUin the superdiagonal part ofA. IfUPLO = 'L': factorLin the subdiagonal part ofA.
- a) all elements of the symmetric block diagonal matrix
- 2) If
WAY = 'R': On entry, contains factorization details in format used inCSYTRF_RKorCSYTRF_BK:- a) ONLY diagonal elements of the symmetric block diagonal matrix
Don the diagonal ofA, i.e.D(k,k) = A(k,k);(superdiagonal (or subdiagonal) elements ofDare stored on exit in arrayE), and - b) If
UPLO = 'U': factorUin the superdiagonal part ofA. IfUPLO = 'L': factorLin the subdiagonal part ofA. On exit, contains factorization details in format used inCSYTRF_ROOK: - a) all elements of the symmetric block diagonal matrix
Don the diagonal ofAand on superdiagonal (or subdiagonal) ofA, and - b) If
UPLO = 'U': multipliers used to obtain factorUin the superdiagonal part ofA. IfUPLO = 'L': multipliers used to obtain factorLin the superdiagonal part ofA.
- a) ONLY diagonal elements of the symmetric block diagonal matrix
- 1) If
LDAβLDAisINTEGER. the leading dimension of the arrayA.LDA >= max(1,N). πEβEisCOMPLEX array, 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 to0; IfUPLO = 'L':E(i) = D(i+1,i),i=1:N-1,E(N)is set to0. - 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.
- 1) If
IPIVβIPIVisINTEGER array, dimension (N). On entry, details of the interchanges and the block structure ofDas determined: 1) byCSYTRF_ROOK, ifWAY ='C'; 2) byCSYTRF_RK(orCSYTRF_BK), ifWAY ='R'. theIPIVformat is the same for all these routines. On exit, is not changed. πINFOβINFOisINTEGER.= 0:successful exit.< 0:ifINFO = -i, thei-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 199 of file csyconvf_rook.f. π
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, thatβs the whole page β served fresh by LAPACK Version 3.12.0, file SRC/csyconvf_rook.f(3). go forth and convert/revert with main character energy π
β¨π
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms