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

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

πŸ’… /home/abui.../zgetrf2.f(3) β€” Library Functions Manual, but make it make sense ✨

okay so bestie, real talk: the file we're vibing with is /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zgetrf2.f, and this page is the whole glow-up on it. come thru πŸ’–


✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zgetrf2.f β€” literally the icon herself, no notes πŸ‘‘


πŸŽ€ SYNOPSIS πŸŽ€

Functions/Subroutines

  • recursive subroutine ZGETRF2 (m, n, a, lda, ipiv, info) β€” say hi to ZGETRF2, she's the main character of this page 🫢

πŸ’œ Function/Subroutine Documentation πŸ’œ

recursive subroutine ZGETRF2 (integer m, integer n, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, integer info)

ZGETRF2. that's it. that's the name. iconic behavior ✨

πŸ¦‹ Purpose πŸ¦‹

okay so here's the tea, bestie:

ZGETRF2 computes an LU factorization of a general M-by-N matrix A using partial pivoting with row interchanges.

the factorization has the form

A = P * L * U

where P is a permutation matrix, L is lower triangular with unit diagonal elements (lower trapezoidal if m > n), and U is upper triangular (upper trapezoidal if m < n).

this is the recursive version of the algorithm. no cap, she divides the matrix into four submatrices:

       [  A11 | A12  ]  where A11 is n1 by n1 and A22 is n2 by n2
   A = [ -----|----- ]  with n1 = min(m,n)/2
       [  A21 | A22  ]       n2 = n-n1

                                      [ A11 ]
The subroutine calls itself to factor [ --- ],
                                      [ A12 ]
                [ A12 ]
do the swaps on [ --- ], solve A12, update A22,
                [ A22 ]

then calls itself to factor A22 and do the swaps on A21.

she literally calls herself. recursive queen behavior πŸ‘‘ iykyk


🌸 Parameters 🌸

M

M is INTEGER The number of rows of the matrix A. M >= 0.

so like, how many rows we working with, bestie πŸ“

N

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

and how many columns, periodt πŸ’…

A

A is COMPLEX*16 array, dimension (LDA,N) On entry, the M-by-N matrix to be factored. On exit, the factors L and U from the factorization A = P*L*U; the unit diagonal elements of L are not stored.

she goes in as your matrix and comes out as factors L and U, and the unit diagonal of L is simply not stored. lowkey efficient, highkey iconic ✨

LDA

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

leading dimension, gotta respect her. max(1,M), no exceptions πŸŽ€

IPIV

IPIV is INTEGER array, dimension (min(M,N)) The pivot indices; for 1 <= i <= min(M,N), row i of the matrix was interchanged with row IPIV(i).

pivot indices!! she keeps receipts of every swap, fr fr πŸ”₯

INFO

INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, U(i,i) is exactly zero. The factorization has been completed, but the factor U is exactly singular, and division by zero will occur if it is used to solve a system of equations.
πŸ’€ heads up bestie: if INFO > 0, U is exactly singular and using it to solve a system means division by zero. that's not a vibe. that's a whole situation. be careful out there πŸ™ˆ

🧚 Author 🧚

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

the whole squad behind it, honestly? legends 🌈


⭐ Definition at line 112 of file zgetrf2.f. ⭐


🌟 Author 🌟

Generated automatically by Doxygen for LAPACK from the source code. (the robot did the typing, we're just here for the vibes 🫢)


aaaand that's the page, bestie. LAPACK, Version 3.12.0, dated /home/abui.../zgetrf2.f(3) β€” mwah, no notes, she ate and left absolutely no crumbs πŸ’…πŸ’–πŸŽ€

πŸ“¦ where this page comes from