CGESC2(3)

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

πŸ’… CGESC2(3) β€” like, the complex getc2 solver, bestie

okay so first things first: this is a page from the Library Functions Manual (LAPACK girlies, we're in section 3, the library-functions section, mwah πŸ’–). And lowkey the file it's documenting is literally:

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

like that's it, that's the absolute path, no notes ✨


🌸 NAME 🌸

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

yep. that's the whole NAME section. it's giving minimalism, it's giving "the file speaks for itself" πŸ’€


✨ SYNOPSIS ✨

Functions/Subroutines

  • subroutine CGESC2 (n, a, lda, rhs, ipiv, jpiv, scale) β€” CGESC2 solves a system of linear equations using the LU factorization with complete pivoting computed by sgetc2.

(spot the lowercase s there? yeah. we literally keep it. copying it exactly, no cap 🫢)


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

subroutine CGESC2 (integer n, complex, dimension( lda, * ) a, integer lda,
    complex, dimension( * ) rhs, integer, dimension( * ) ipiv, integer,
    dimension( * ) jpiv, real scale)

CGESC2 solves a system of linear equations using the LU factorization with complete pivoting computed by sgetc2.

πŸŽ€ Purpose πŸŽ€

okay here's the whole vibe, straight from the source comment block:

!>
!> CGESC2 solves a system of linear equations
!>
!>           A * X = scale* RHS
!>
!> with a general N-by-N matrix A using the LU factorization with
!> complete pivoting computed by CGETC2.
!>
!>

so like β€” you already got A factorized by CGETC2, and now you want the solve. that's the whole job, bestie. main character energy honestly πŸ’…


🌈 Parameters 🌈

  • N
!>          N is INTEGER
!>          The number of columns of the matrix A.
!>
  • A
!>          A is COMPLEX array, dimension (LDA, N)
!>          On entry, the  LU part of the factorization of the n-by-n
!>          matrix A computed by CGETC2:  A = P * L * U * Q
!>

like β€” on entry it's already the LU part. don't come in here with a fresh matrix, that's not the assignment πŸ™ˆ

  • LDA
!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1, N).
!>
that LDA >= max(1, N) is not a suggestion, it's a lifestyle. respect it or enjoy your undefined behaviour πŸ”₯
  • RHS
!>          RHS is COMPLEX array, dimension N.
!>          On entry, the right hand side vector b.
!>          On exit, the solution vector X.
!>

the glow-up is real: goes in as b, comes out as X. ate and left no crumbs ✨

  • IPIV
!>          IPIV is INTEGER array, dimension (N).
!>          The pivot indices; for 1 <= i <= N, row i of the
!>          matrix has been interchanged with row IPIV(i).
!>
  • JPIV
!>          JPIV is INTEGER array, dimension (N).
!>          The pivot indices; for 1 <= j <= N, column j of the
!>          matrix has been interchanged with column JPIV(j).
!>

rows go through IPIV, columns go through JPIV. complete pivoting means both get shuffled, iykyk πŸŒ€

  • SCALE
!>          SCALE is REAL
!>           On exit, SCALE contains the scale factor. SCALE is chosen
!>           0 <= SCALE <= 1 to prevent overflow in the solution.
!>

the anti-overflow queen πŸ‘‘ she clamps herself between 0 and 1 so your solution doesn't explode. iconic, honestly.


πŸ’– Author πŸ’–

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

🧚 Contributors: 🧚

Bo Kagstrom and Peter Poromaa, Department of Computing Science, Umea University, S-901 87 Umea, Sweden.

shoutout to Bo and Peter, the founders of the function, fr fr 🫢


⭐ one more thing ⭐

Definition at line 114 of file cgesc2.f.


πŸ’œ Author (yes, a second one, don't @ me) πŸ’œ

Generated automatically by Doxygen for LAPACK from the source code.

like... the robot wrote this section, not a human. we love a machine-made author credit, slay πŸ€–βœ¨


and that's the whole page, bestie β€” bye!! this was LAPACK, Version 3.12.0, and the header/footer vibe was cgesc2.f(3) all along. πŸ“ see u in the next manpage πŸ’…

πŸ“¦ where this page comes from