SGETRF(3)

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

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 factorization A = 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; for 1 <= i <= min(M,N), row i of the matrix was interchanged with row IPIV(i).
  • 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.
lowkey important: that INFO > 0 case 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