SRC/cgetc2.f(3)
π SRC/cgetc2.f β from the Library Functions Manual, bestie π
okay so this is a page straight out of the Library Functions Manual and it's literally all about one iconic little subroutine that does a full-pivot LU factorization. no cap, she's serving level 1 BLAS realness and we're gonna go through every single detail together. grab a strawberry drink π
β¨ NAME β¨
SRC/cgetc2.f β that's her, that's the file. main character energy from the very first line π«Ά
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine cgetc2 (n, a, lda, ipiv, jpiv, info)β CGETC2 computes the LU factorization with complete pivoting of the general n-by-n matrix.
π¦ Function/Subroutine Documentation π¦
subroutine cgetc2 (integer n, complex, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, integer, dimension( * ) jpiv, integer info)
CGETC2 computes the LU factorization with complete pivoting of the general n-by-n matrix.
π Purpose:
!>
!> CGETC2 computes an LU factorization, using complete pivoting, of the
!> n-by-n matrix A. The factorization has the form A = P * L * U * Q,
!> where P and Q are permutation matrices, L is lower triangular with
!> unit diagonal elements and U is upper triangular.
!>
!> This is a level 1 BLAS version of the algorithm.
!>
so yeah β A = P * L * U * Q, where P and Q are permutation matrices, L is lower triangular with unit diagonal elements, and U is upper triangular. and bestie, this is the level 1 BLAS version of the algorithm. iykyk β¨
π Parameters
N
!> N is INTEGER
!> The order of the matrix A. N >= 0.
!>
A
!> A is COMPLEX array, dimension (LDA, N)
!> On entry, the n-by-n matrix to be factored.
!> On exit, the factors L and U from the factorization
!> A = P*L*U*Q; the unit diagonal elements of L are not stored.
!> If U(k, k) appears to be less than SMIN, U(k, k) is given the
!> value of SMIN, giving a nonsingular perturbed system.
!>
LDA
!> LDA is INTEGER
!> The leading dimension of the array A. LDA >= max(1, N).
!>
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).
!>
INFO
!> INFO is INTEGER
!> = 0: successful exit
!> > 0: if INFO = k, U(k, k) is likely to produce overflow if
!> one tries to solve for x in Ax = b. So U is perturbed
!> to avoid the overflow.
!>
π heads up:INFO > 0isn't an error exactly β ifINFO = k, thenU(k, k)is likely to produce overflow if you try to solve for x in Ax = b, so U gets perturbed to dodge that overflow. she's being proactive, not messy π
π 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. π§ absolute legends, putting Umea on the map fr fr
β Definition at line 110 of file cgetc2.f.
π Author (again, yes, we stan a double credit)
Generated automatically by Doxygen for LAPACK from the source code.
ok that's the whole page, no details skipped, nothing invented, periodt π
and a little sign-off for the footer, since you asked so nicely: this bad girl is LAPACK, Version 3.12.0, and the page is SRC/cgetc2.f(3) β go forth and pivot completely, bestie π₯πΈ
π¦ 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