SGETRF(3)
SGETRF(3) π
okay bestie, this is the LAPACK Library Functions Manual page for SGETRF(3), and we are gonna get you comfy with this LU factorization icon. No cap, it's giving numerical linear algebra main character energy. π
NAME π·οΈ
The NAME section points at this exact file path:
/home/abuild/rpmbuild/BUILD/lapack-
static-3.12.0-build/lapack-3.12.0/SRC/VARIANTS/lu/REC/sgetrf.f
SYNOPSIS β¨
Functions/Subroutines
Here's the function vibe:
subroutine SGETRF (m, n, a, lda, ipiv, info)
SGETRF VARIANT: iterative version of Sivan Toledo's recursive LU algorithm β yes, that's the whole mood. π¦
Function/Subroutine Documentation π
Signature drop:
subroutine SGETRF (integer m, integer n, real, dimension( lda, * ) a,
integer lda, integer, dimension( * ) ipiv, integer info)
SGETRF VARIANT: iterative version of Sivan Toledo's recursive LU algorithm β periodt. π
Purpose π
okay so SGETRF 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 code implements an iterative version of Sivan Toledo's recursive LU algorithm[1]. For square matrices, this iterative versions should be within a factor of two of the optimum number of memory transfers.
The pattern is as follows, with the large blocks of U being updated in one call to STRSM, and the dotted lines denoting sections that have had all pending permutations applied:
!> 1 2 3 4 5 6 7 8
!> +-+-+---+-------+------
!> | |1| | |
!> |.+-+ 2 | |
!> | | | | |
!> |.|.+-+-+ 4 |
!> | | | |1| |
!> | | |.+-+ |
!> | | | | | |
!> |.|.|.|.+-+-+---+ 8
!> | | | | | |1| |
!> | | | | |.+-+ 2 |
!> | | | | | | | |
!> | | | | |.|.+-+-+
!> | | | | | | | |1|
!> | | | | | | |.+-+
!> | | | | | | | | |
!> |.|.|.|.|.|.|.|.+-----
!> | | | | | | | | |
The 1-2-1-4-1-2-1-8-... pattern is the position of the last 1 bit in the binary expansion of the current column. Each Schur update is applied as soon as the necessary portion of U is available.
Citation tea β:
[1] Toledo, S. 1997. Locality of Reference in LU Decomposition with
Partial Pivoting. SIAM J. Matrix Anal. Appl. 18, 4 (Oct. 1997),
1065-1081. http://dx.doi.org/10.1137/S0895479896297744
Parameters πΈ
MβM is INTEGER. The number of rows of the matrix A.M >= 0.NβN is INTEGER. The number of columns of the matrix A.N >= 0.AβA is REAL array, 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.LDAβLDA is INTEGER. The leading dimension of the array A.LDA >= max(1,M).IPIVβIPIV is INTEGER array, dimension (min(M,N)). The pivot indices; for1 <= i <= min(M,N), row i of the matrix was interchanged with rowIPIV(i).INFOβINFO is INTEGER.= 0: successful exit< 0: ifINFO = -i, the i-th argument had an illegal value> 0: ifINFO = 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.
lowkey important: thatINFO > 0case is not a cute little warning βU(i,i)is exactly zero, the factorization is done, and the factor U is exactly singular. Division by zero will occur if it is used to solve a system of equations. π
Author π«Ά
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Date π
December 2016
Definition at line 135 of file sgetrf.f.
Author (auto-generated) π€
Generated automatically by Doxygen for LAPACK from the source code.
π LAPACK Version 3.12.0 Β· December 2016 Β· /home/abui...EC/sgetrf.f(3) β bye bestie, go slay those matrices! π
π¦ 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