SRC/ssyconvf_rook.f(3)
okay so this is the SRC/ssyconvf_rook.f(3) page from the Library Functions Manual, and ngl it's giving linear-algebra format-shifter main character energy. We're converting symmetric factorization output between SSYTRF_ROOK and SSYTRF_RK / SSYTRF_BK vibes, and the IPIV format stays the same. Let's get into it bestie π
β¨
π NAME π
SRC/ssyconvf_rook.f
β¨ SYNOPSIS β¨
π§ Functions/Subroutines π§
subroutine ssyconvf_rook (uplo, way, n, a, lda, e, ipiv, info)
This one is SSYCONVF_ROOK, periodt. π
π¦ Function/Subroutine Documentation π¦
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 is the icon of this page π.
πΈ Purpose πΈ
- If parameter
WAY = 'C':SSYCONVF_ROOKconverts the factorization output format used inSSYTRF_ROOKprovided on entry in parameterAinto the factorization output format used inSSYTRF_RK(orSSYTRF_BK) that is stored on exit in parametersAandE. TheIPIVformat forSSYTRF_ROOKandSSYTRF_RK(orSSYTRF_BK) is the same and is not converted. - If parameter
WAY = 'R':SSYCONVF_ROOKperforms the conversion in reverse direction, i.e. converts the factorization output format used inSSYTRF_RK(orSSYTRF_BK) provided on entry in parametersAandEinto the factorization output format used inSSYTRF_ROOKthat is stored on exit in parameterA. TheIPIVformat forSSYTRF_ROOKandSSYTRF_RK(orSSYTRF_BK) is the same and is not converted.
π Parameters π
UPLOβUPLO is 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βWAY is CHARACTER*1.= 'C': Convert.= 'R': Revert.
NβN is INTEGER. The order of the matrixA.N >= 0.AβA is REAL array, dimension (LDA,N).- 1) If
WAY ='C': On entry, contains factorization details in format used inSSYTRF_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
SSYTRF_RKorSSYTRF_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 inSSYTRF_RKorSSYTRF_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
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.
- a) all elements of the symmetric block diagonal matrix
- 1) If
LDAβLDA is INTEGER. The leading dimension of the arrayA.LDA >= max(1,N).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
Dwith 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 matrix
Dwith 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.
- On entry, contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrix
- 1) If
IPIVβIPIV is INTEGER array, dimension (N).- On entry, details of the interchanges and the block structure of
Das determined:- by
SSYTRF_ROOK, ifWAY ='C'; - by
SSYTRF_RK(orSSYTRF_BK), ifWAY ='R'.
- by
- The
IPIVformat is the same for all these routines. - On exit, is not changed.
- On entry, details of the interchanges and the block structure of
INFOβINFO is 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 196 of file ssyconvf_rook.f.
π«Ά Author π«Ά
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, that's the whole page! This footer situation is SRC/ssyconvf_rook.f(3) and LAPACK Version 3.12.0 β no cap, she ate. Byeee ππ¦β¨
π¦ 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