/home/abui.../zgetrf2.f(3)
π /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 isINTEGERThe number of rows of the matrix A.M >= 0.
so like, how many rows we working with, bestie π
N
N isINTEGERThe number of columns of the matrix A.N >= 0.
and how many columns, periodt π
A
A isCOMPLEX*16array, dimension(LDA,N)On entry, the M-by-N matrix to be factored. On exit, the factors L and U from the factorizationA = 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 isINTEGERThe leading dimension of the array A.LDA >= max(1,M).
leading dimension, gotta respect her. max(1,M), no exceptions π
IPIV
IPIV isINTEGERarray, dimension(min(M,N))The pivot indices; for1 <= i <= min(M,N), row i of the matrix was interchanged with rowIPIV(i).
pivot indices!! she keeps receipts of every swap, fr fr π₯
INFO
INFO isINTEGER= 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
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms