syconvf_rook(3)
π syconvf_rook(3) β Library Functions Manual π
πΈ NAME πΈ
syconvf_rook β syconvf_rook: convert to/from hetrf_rook to hetrf_rk format π
π SYNOPSIS π
β¨ Functions β¨
subroutine csyconvf_rook (uplo, way, n, a, lda, e, ipiv, info)
subroutine dsyconvf_rook (uplo, way, n, a, lda, e, ipiv, info)
subroutine ssyconvf_rook (uplo, way, n, a, lda, e, ipiv, info)
subroutine zsyconvf_rook (uplo, way, n, a, lda, e, ipiv, info)
CSYCONVF_ROOKDSYCONVF_ROOKSSYCONVF_ROOKZSYCONVF_ROOK
π¦ Detailed Description π¦
okay bestie, this is where the actual function lore lives π no cap, every routine below is serving its own little conversion moment β¨
π Function Documentation π
π csyconvf_rook / CSYCONVF_ROOK π
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 WAY = 'C', CSYCONVF_ROOK converts the factorization output format used in CSYTRF_ROOK β the one provided on entry in parameter A β into the factorization output format used in CSYTRF_RK (or CSYTRF_BK) that gets 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. periodt π
If WAY = 'R', CSYCONVF_ROOK does the conversion in reverse direction, i.e. it 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 gets stored on exit in parameter A. The IPIV format for CSYTRF_ROOK and CSYTRF_RK (or CSYTRF_BK) is the same and is not converted. iconic β¨
CSYCONVF_ROOK can also convert in the Hermitian matrix case, i.e. between formats used in CHETRF_ROOK and CHETRF_RK (or CHETRF_BK). π¦
πΈ Parameters πΈ
UPLOβ isCHARACTER*1. Specifies whether the details of the factorization are stored as an upper or lower triangular matrixA.= 'U': Upper triangular= 'L': Lower triangular
WAYβ isCHARACTER*1.= 'C': Convert= 'R': Revert
Nβ isINTEGER. The order of matrixA.N >= 0.Aβ isCOMPLEXarray, dimension(LDA,N).- 1) If
WAY ='C':- On entry, contains factorization details in format used in
CSYTRF_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) all elements of the symmetric block diagonal matrix
- On exit, contains factorization details in format used in
CSYTRF_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) ONLY diagonal elements of the symmetric block diagonal matrix
- On entry, contains factorization details in format used in
- 2) If
WAY = 'R':- On entry, contains factorization details in format used in
CSYTRF_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) ONLY diagonal elements of the symmetric block diagonal matrix
- On exit, contains factorization details in format used in
CSYTRF_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) all elements of the symmetric block diagonal matrix
- On entry, contains factorization details in format used in
- 1) If
LDAβ isINTEGER. The leading dimension of the arrayA.LDA >= max(1,N).Eβ isCOMPLEXarray, dimension(N).- 1) If
WAY ='C':- On entry, just a workspace.
- On exit, contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrix
Dwith 1-by-1 or 2-by-2 diagonal blocks, where - If
UPLO = 'U':E(i) = D(i-1,i), i=2:N,E(1)is set to 0; - If
UPLO = '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 matrix
Dwith 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. - On exit, is not changed.
- On entry, contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrix
- 1) If
IPIVβ isINTEGERarray, dimension(N). On entry, details of the interchanges and the block structure ofDas determined:- by
CSYTRF_ROOK, ifWAY ='C'; - by
CSYTRF_RK(orCSYTRF_BK), ifWAY ='R'. TheIPIVformat is the same for all these routines. On exit, is not changed.
- by
INFOβ isINTEGER.= 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 199 of file csyconvf_rook.f.
π dsyconvf_rook / DSYCONVF_ROOK π
subroutine dsyconvf_rook (character uplo, character way, integer n, double
precision, dimension( lda, * ) a, integer lda, double precision,
dimension( * ) e, integer, dimension( * ) ipiv, integer info)
DSYCONVF_ROOK
π Purpose π
If parameter WAY = 'C', DSYCONVF_ROOK converts the factorization output format used in DSYTRF_ROOK provided on entry in parameter A into the factorization output format used in DSYTRF_RK (or DSYTRF_BK) that is stored on exit in parameters A and E. The IPIV format for DSYTRF_ROOK and DSYTRF_RK (or DSYTRF_BK) is the same and is not converted. π«
If parameter WAY = 'R', DSYCONVF_ROOK performs the conversion in reverse direction, i.e. converts the factorization output format used in DSYTRF_RK (or DSYTRF_BK) provided on entry in parameters A and E into the factorization output format used in DSYTRF_ROOK that is stored on exit in parameter A. The IPIV format for DSYTRF_ROOK and DSYTRF_RK (or DSYTRF_BK) is the same and is not converted. π¦
πΈ Parameters πΈ
UPLOβ isCHARACTER*1. Specifies whether the details of the factorization are stored as an upper or lower triangular matrixA.= 'U': Upper triangular= 'L': Lower triangular
WAYβ isCHARACTER*1.= 'C': Convert= 'R': Revert
Nβ isINTEGER. The order of matrixA.N >= 0.Aβ
π A
A is a DOUBLE PRECISION array, dimension (LDA,N). it's literally the main character of this whole operation, and what lives inside it depends on which way you're going π
1) If WAY ='C':
On entry, it's holding factorization details in the format used in DSYTRF_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, it's holding factorization details in the format used in DSYTRF_RK or DSYTRF_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.
2) If WAY = 'R':
On entry, it's holding factorization details in the format used in DSYTRF_RK or DSYTRF_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, it's holding factorization details in the format used in DSYTRF_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.
like, it goes back to being the full glam package. we love a reversible transformation π
π¦ LDA
LDA is INTEGER. it's the leading dimension of the array A. and the vibe check is: LDA >= max(1,N). no exceptions bestie, fr fr.
πΈ E
E is a DOUBLE PRECISION array, dimension (N). she's the off-diagonal bestie, the one carrying all the 2-by-2 block tea π
1) If WAY ='C':
On entry, just a workspace. that's it. she's hanging out, not doing much.
On exit, she contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrix D with 1-by-1 or 2-by-2 diagonal blocks, where:
- if
UPLO = 'U':E(i) = D(i-1,i),i=2:N,E(1)is set to0; - if
UPLO = 'L':E(i) = D(i+1,i),i=1:N-1,E(N)is set to0.
2) If WAY = 'R':
On entry, she contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrix D with 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.
On exit, is not changed. she did her job, she's not moving, iconic behaviour π
π«Ά IPIV
IPIV is an INTEGER array, dimension (N). on entry, it's got the details of the interchanges and the block structure of D as determined:
- by
DSYTRF_ROOK, ifWAY ='C'; - by
DSYTRF_RK(orDSYTRF_BK), ifWAY ='R'.
The IPIV format is the same for all these routines β so no conversion needed, it just vibes through unchanged π
On exit, is not changed. periodt.
β¨ INFO
INFO is INTEGER. the receipts, basically:
= 0: successful exit π< 0: ifINFO = -i, thei-th argument had an illegal value π (so like, go check argument numberi, she's the problem)
π 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 196 of file dsyconvf_rook.f.
π ssyconvf_rook β the single-precision twin, same energy π
subroutine ssyconvf_rook (character uplo, character way, integer n, real,
dimension( lda, * ) a, integer lda, real, dimension( * ) e, integer,
dimension( * ) ipiv, integer info)
SSYCONVF_ROOK π¦ β literally the same gig as her double-precision sister, just in REAL. copy that, paste the vibe, change the type. we stan a consistent family π
π― Purpose:
If parameter WAY = 'C':
SSYCONVF_ROOK converts the factorization output format used in SSYTRF_ROOK provided on entry in parameter A into the factorization output format used in SSYTRF_RK (or SSYTRF_BK) that is stored on exit in parameters A and E. IPIV format for SSYTRF_ROOK and SSYTRF_RK (or SSYTRF_BK) is the same and is not converted.
If parameter WAY = 'R':
SSYCONVF_ROOK performs the conversion in reverse direction, i.e. converts the factorization output format used in SSYTRF_RK (or SSYTRF_BK) provided on entry in parameters A and E into the factorization output format used in SSYTRF_ROOK that is stored on exit in parameter A. IPIV format for SSYTRF_ROOK and SSYTRF_RK (or SSYTRF_BK) is the same and is not converted.
so yeah βAandEget makeovers,IPIVshows up in the same outfit both times. iykyk π«Ά
πΈ Parameters
π UPLO
UPLO is CHARACTER*1. it specifies whether the details of the factorization are stored as an upper or lower triangular matrix A.
= 'U': Upper triangular= 'L': Lower triangular
pick your fighter π
π WAY
WAY is CHARACTER*1:
= 'C': Convert= 'R': Revert
one letter, two whole destinies β¨
π N
N is INTEGER. the order of the matrix A. and N >= 0. keep it non-negative bestie, that's the whole rule π
π A
A is REAL array, dimension (LDA,N).
1) If WAY ='C':
On entry, contains factorization details in format used in SSYTRF_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 in SSYTRF_RK or SSYTRF_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.
2) If WAY = 'R':
On entry, contains factorization details in format used in SSYTRF_RK or SSYTRF_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 in SSYTRF_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.
π LDA
LDA is INTEGER. the leading dimension of the array A. and yeah, LDA >= max(1,N) β same rule, same energy, no cap π₯
π E
E is REAL 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 matrix D with 1-by-1 or 2-by-2 diagonal blocks, where:
- if
UPLO = 'U':E(i) = D(i-1,i),i=2:N,E(1)is set to0; - if
UPLO = '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 matrix D with 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.
On exit, is not changed. she's a stable queen π§
π IPIV
IPIV is INTEGER array, dimension (N). on entry, details of the interchanges and the block structure of D as determined:
- by
SSYTRF_ROOK, ifWAY ='C'; - by
SSYTRF_RK(orSSYTRF_BK), ifWAY ='R'.
The IPIV format is the same for all these routines.
On exit, is not changed. again. she's not being converted, bestie, don't even ask π
π INFO
INFO is INTEGER:
= 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 196 of file ssyconvf_rook.f.
π Parameters π
okay bestie, parameter time β every single argument gets its moment, no skips, no cap π
UPLOβCHARACTER*1. Specifies whether the details of the factorization are stored as an upper or lower triangular matrixA.= 'U': Upper triangular= 'L': Lower triangular
WAYβCHARACTER*1.= 'C': Convert= 'R': Revert
NβINTEGER. The order of the matrixA.N >= 0.AβCOMPLEX*16 array, dimension (LDA,N).
1) If WAY ='C':
- On entry, contains factorization details in format used in
ZSYTRF_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) all elements of the symmetric block diagonal matrix
- On exit, contains factorization details in format used in
ZSYTRF_RKorZSYTRF_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) ONLY diagonal elements of the symmetric block diagonal matrix
2) If WAY ='R':
- On entry, contains factorization details in format used in
ZSYTRF_RKorZSYTRF_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) ONLY diagonal elements of the symmetric block diagonal matrix
- On exit, contains factorization details in format used in
ZSYTRF_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) all elements of the symmetric block diagonal matrix
LDAβINTEGER. The leading dimension of the arrayA.LDA >= max(1,N).EβCOMPLEX*16 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 matrix
Dwith 1-by-1 or 2-by-2 diagonal blocks, where- If
UPLO = 'U':E(i) = D(i-1,i), i=2:N, E(1) is set to 0; - If
UPLO = 'L':E(i) = D(i+1,i), i=1:N-1, E(N) is set to 0.
- If
2) If WAY ='R':
- On entry, contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrix
Dwith 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
- On exit, is not changed
IPIVβINTEGER array, dimension (N). On entry, details of the interchanges and the block structure ofDas determined:- by
ZSYTRF_ROOK, ifWAY ='C'; - by
ZSYTRF_RK(orZSYTRF_BK), ifWAY ='R'.
- by
The IPIV format is the same for all these routines.
On exit, is not changed.
INFOβINTEGER.= 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 π
Definition at line 199 of file zsyconvf_rook.f.
π€ Author π€
Generated automatically by Doxygen for LAPACK from the source code.
π thatβs the whole page, bestie! LAPACK Version 3.12.0, syconvf_rook(3) β slay and goodbye! π
π¦ 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