SRC/dgetrf2.f(3)

πŸ’– SRC/dgetrf2.f(3) β€” Library Functions Manual πŸ’–

okay bestie, gather round: this is the manual page for SRC/dgetrf2.f, and it's giving recursive LU factorization realness. no cap, it's a whole vibe. πŸ’…

🌸 NAME 🌸

SRC/dgetrf2.f

✨ SYNOPSIS ✨

πŸ’… Functions/Subroutines πŸ’…

  • recursive subroutine dgetrf2 (m, n, a, lda, ipiv, info) β€” DGETRF2

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

πŸ’œ recursive subroutine dgetrf2 πŸ’œ

recursive subroutine dgetrf2 (integer m, integer n, double precision, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, integer info)

DGETRF2

🌈 Purpose 🌈

bestie, DGETRF2 computes an LU factorization of a general M-by-N matrix A using partial pivoting with row interchanges. that's the whole assignment, fr fr. ✨

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). iconic triangular behavior, honestly. 🫢

This is the recursive version of the algorithm. It 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

Then the subroutine calls itself to factor this block:

                                      [ A11 ]
The subroutine calls itself to factor [ --- ],
                                      [ A12 ]

It does the swaps on:

                [ A12 ]
do the swaps on [ --- ], solve A12, update A22,
                [ A22 ]

and then calls itself to factor A22 and do the swaps on A21. recursion ate, left no crumbs. πŸ”₯

πŸ“ 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 DOUBLE PRECISION 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.

πŸŽ€ Author πŸŽ€

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

Definition at line 112 of file dgetrf2.f.

πŸ’« Author πŸ’«

Generated automatically by Doxygen for LAPACK from the source code.


that's the whole vibe, bestie β€” LAPACK Version 3.12.0, source SRC/dgetrf2.f(3) πŸ’–βœ¨

πŸ“¦ where this page comes from