/home/abui...nvf_rook.f(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’… /home/abui...nvf_rook.f β€” oh we're in the Library Functions Manual bestie, buckle up πŸŽ€

okay so this is one of those auto-generated LAPACK pages and honestly? it's lowkey iconic. it's a Fortran source file page for zsyconvf_rook.f, and it's giving ✨ "I convert factorizations for a living" ✨ energy.


🌸 NAME 🌸

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zsyconvf_rook.f

yes that's the whole name. it's a whole path. she's long. she's committed. periodt πŸ’…


✨ SYNOPSIS ✨

Functions/Subroutines

subroutine ZSYCONVF_ROOK (uplo, way, n, a, lda, e, ipiv, info)

ZSYCONVF_ROOK β€” that's her. that's the icon herself.


πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

subroutine ZSYCONVF_ROOK (character uplo, character way, integer n,
    complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( *
    ) e, integer, dimension( * ) ipiv, integer info)

ZSYCONVF_ROOK

πŸ’– Purpose πŸ’–

okay so here's the tea, bestie β€” this routine is a format converter. it takes factorization output in one layout and flips it into another. no cap.

If parameter WAY = 'C': ZSYCONVF_ROOK converts the factorization output format used in ZSYTRF_ROOK provided on entry in parameter A into the factorization output format used in ZSYTRF_RK (or ZSYTRF_BK) that is stored on exit in parameters A and E. IPIV format for ZSYTRF_ROOK and ZSYTRF_RK (or ZSYTRF_BK) is the same and is not converted.
If parameter WAY = 'R': ZSYCONVF_ROOK performs the conversion in reverse direction, i.e. converts the factorization output format used in ZSYTRF_RK (or ZSYTRF_BK) provided on entry in parameters A and E into the factorization output format used in ZSYTRF_ROOK that is stored on exit in parameter A. IPIV format for ZSYTRF_ROOK and ZSYTRF_RK (or ZSYTRF_BK) is the same and is not converted.
ZSYCONVF_ROOK can also convert in Hermitian matrix case, i.e. between formats used in ZHETRF_ROOK and ZHETRF_RK (or ZHETRF_BK).

so she's bilingual πŸ’… forward and backward, symmetric and Hermitian. versatile queen.


🌈 Parameters 🌈

UPLO

UPLO is CHARACTER*1 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 triangle, bestie πŸ”Ί

WAY

WAY is CHARACTER*1 = 'C': Convert = 'R': Revert

'C' = convert, 'R' = revert. two moods, both valid 🫢

N

N is INTEGER The order of the matrix A. N >= 0.

the size. the ~vibe~. and yes, N >= 0 is a hard requirement, don't come at her with a negative 😭

A

A is 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 D on the diagonal of A and on superdiagonal (or subdiagonal) of A, and b) If UPLO = 'U': multipliers used to obtain factor U in the superdiagonal part of A. If UPLO = 'L': multipliers used to obtain factor L in the superdiagonal part of A. On exit, contains factorization details in format used in ZSYTRF_RK or ZSYTRF_BK: a) ONLY diagonal elements of the symmetric block diagonal matrix D on the diagonal of A, i.e. D(k,k) = A(k,k); (superdiagonal (or subdiagonal) elements of D are stored on exit in array E), and b) If UPLO = 'U': factor U in the superdiagonal part of A. If UPLO = 'L': factor L in the subdiagonal part of A.

2) If WAY = 'R':

On entry, contains factorization details in format used in ZSYTRF_RK or ZSYTRF_BK: a) ONLY diagonal elements of the symmetric block diagonal matrix D on the diagonal of A, i.e. D(k,k) = A(k,k); (superdiagonal (or subdiagonal) elements of D are stored on exit in array E), and b) If UPLO = 'U': factor U in the superdiagonal part of A. If UPLO = 'L': factor L in the subdiagonal part of A. On exit, contains factorization details in format used in ZSYTRF_ROOK: a) all elements of the symmetric block diagonal matrix D on the diagonal of A and on superdiagonal (or subdiagonal) of A, and b) If UPLO = 'U': multipliers used to obtain factor U in the superdiagonal part of A. If UPLO = 'L': multipliers used to obtain factor L in the superdiagonal part of A.

she literally contains multitudes πŸ’€

LDA

LDA is INTEGER The leading dimension of the array A. LDA >= max(1,N).

leading dimension, iconic. must satisfy LDA >= max(1,N) β€” that's not a suggestion, that's the law βš–οΈ

E

E is 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 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 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 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

glow-up note: in 'C' mode E starts as just a workspace and becomes something. character development fr fr 🌱

IPIV

IPIV is INTEGER array, dimension (N) On entry, details of the interchanges and the block structure of D as determined: 1) by ZSYTRF_ROOK, if WAY ='C'; 2) by ZSYTRF_RK (or ZSYTRF_BK), if WAY ='R'. The IPIV format is the same for all these routines. On exit, is not changed.

she literally does not touch IPIV. it stays exactly as it is. respect πŸ™Œ

INFO

INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value

so if INFO is negative, it's snitching on which argument you fumbled πŸ’€ -i means the i-th one. read the room.


πŸ‘‘ Author πŸ‘‘

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

the whole squad showed up. academic royalty honestly πŸŽ“


🧚 Contributors: 🧚

November 2017, Igor Kozachenko, Computer Science Division, University of California, Berkeley

shoutout Igor, November 2017, CS Division, UC Berkeley β€” the main character who wrote this 🫑✨


⭐ Definition at line 199 of file zsyconvf_rook.f. ⭐

line 199. noted. if you're reading the source, that's where she lives πŸ“


🌸 Author 🌸

Generated automatically by Doxygen for LAPACK from the source code.

not a human. a machine. and yet she ate πŸ€–πŸ’…


and that's the whole page bestie!! πŸ’– this was LAPACK, Version 3.12.0, dated /home/abui...nvf_rook.f(3) β€” mwah, go convert some factorizations, ily πŸŽ€πŸ¦‹βœ¨

πŸ“¦ where this page comes from