/home/abui..._getrfnp.f(3)
π /home/abui..._getrfnp.f β Library Functions Manual π
okay bestie, buckle up, because this one's a LAPACK deep cut from the lapack-static-3.12.0-build era, and she's serving auxiliary routine realness π
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dlaorhr_col_getrfnp.f
that's the whole name, no cap. it's a whole-ass file path and honestly? iconic. π«Ά
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine DLAORHR_COL_GETRFNP (m, n, a, lda, d, info)
DLAORHR_COL_GETRFNP β that's her. that's the whole vibe.
π¦ Function/Subroutine Documentation π¦
subroutine DLAORHR_COL_GETRFNP (integer m, integer n, double precision,
dimension( lda, * ) a, integer lda, double precision, dimension( * ) d,
integer info)
DLAORHR_COL_GETRFNP β¨ (yes she's named twice, she's that girl)
π Purpose:
!>!> DLAORHR_COL_GETRFNP computes the modified LU factorization without!> pivoting of a real general M-by-N matrix A. The factorization has!> the form:!>!> A - S = L * U,!>!> where:!> S is a m-by-n diagonal sign matrix with the diagonal D, so that!> D(i) = S(i,i), 1 <= i <= min(M,N). The diagonal D is constructed!> as D(i)=-SIGN(A(i,i)), where A(i,i) is the value after performing!> i-1 steps of Gaussian elimination. This means that the diagonal!> element at each step of Gaussian elimination is!> at least one in absolute value (so that division-by-zero not!> not possible during the division by the diagonal element);!>!> L is a M-by-N lower triangular matrix with unit diagonal elements!> (lower trapezoidal if M > N);!>!> and U is a M-by-N upper triangular matrix!> (upper trapezoidal if M < N).!>!> This routine is an auxiliary routine used in the Householder!> reconstruction routine DORHR_COL. In DORHR_COL, this routine is!> applied to an M-by-N matrix A with orthonormal columns, where each!> element is bounded by one in absolute value. With the choice of!> the matrix S above, one can show that the diagonal element at each!> step of Gaussian elimination is the largest (in absolute value) in!> the column on or below the diagonal, so that no pivoting is required!> for numerical stability [1].!>!> For more details on the Householder reconstruction algorithm,!> including the modified LU factorization, see [1].!>!> This is the blocked right-looking version of the algorithm,!> calling Level 3 BLAS to update the submatrix. To factorize a block,!> this routine calls the recursive routine DLAORHR_COL_GETRFNP2.!>!> [1] ,!> G. Ballard, J. Demmel, L. Grigori, M. Jacquelin, H.D. Nguyen,!> E. Solomonik, J. Parallel Distrib. Comput.,!> vol. 85, pp. 3-31, 2015.!>
so like, real talk: this bad girl does a modified LU factorization with zero pivoting of a real general M-by-N matrix A, and the form is literally A - S = L * U. πβ¨
- S is an m-by-n diagonal sign matrix with diagonal D, so
D(i) = S(i,i)for1 <= i <= min(M,N). D gets built asD(i)=-SIGN(A(i,i)), whereA(i,i)is the value after doingi-1steps of Gaussian elimination. translation: the diagonal element at each step of Gaussian elimination is at least one in absolute value β so division-by-zero is not possible during the division by the diagonal element π«β - L is an M-by-N lower triangular matrix with unit diagonal elements (lower trapezoidal if
M > N) π - U is an M-by-N upper triangular matrix (upper trapezoidal if
M < N) π«
she's an auxiliary routine used inside the Householder reconstruction routine DORHR_COL. In DORHR_COL she gets applied to an M-by-N matrix A with orthonormal columns, where every element is bounded by one in absolute value. and with that choice of matrix S above, you can show that the diagonal element at each step of Gaussian elimination is the largest (in absolute value) in the column on or below the diagonal β so no pivoting is needed for numerical stability [1]. ate and left no crumbs π₯
for more details on the Householder reconstruction algorithm, including the modified LU factorization, see [1] (she's in the references, bestie, iykyk π).
also she's the blocked right-looking version of the algorithm, calling Level 3 BLAS to update the submatrix. and to factorize a block, she calls the recursive routine DLAORHR_COL_GETRFNP2 β recursion queen behavior π§
reference [1]: G. Ballard, J. Demmel, L. Grigori, M. Jacquelin, H.D. Nguyen, E. Solomonik, J. Parallel Distrib. Comput., vol. 85, pp. 3-31, 2015.
π Parameters π
Mβ!> M is INTEGER/!> The number of rows of the matrix A. M >= 0.β the row count, never negative, we don't do that here β¨Nβ!> N is INTEGER/!> The number of columns of the matrix A. N >= 0.β the column count, also never negative π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-S=L*U; the unit diagonal elements of L are not stored.β main character energy fr, she goes in as your matrix and comes out as L and U fromA-S=L*U. the unit diagonal elements of L are justβ¦ not stored. we don't keep receipts on those π«ΆLDAβ!> LDA is INTEGER/!> The leading dimension of the array A. LDA >= max(1,M).β leading dimension of A, and she must satisfyLDA >= max(1,M)βDβ!> D is DOUBLE PRECISION array, dimension min(M,N)/!> The diagonal elements of the diagonal M-by-N sign matrix S,/!> D(i) = S(i,i), where 1 <= i <= min(M,N). The elements can/!> be only plus or minus one.β the diagonal entries of that M-by-N sign matrix S, whereD(i) = S(i,i)for1 <= i <= min(M,N). and here's the vibe check: the elements can only be plus or minus one. no in-between, no "it's complicated" πINFOβ!> INFO is INTEGER/!> = 0: successful exit/!> < 0: if INFO = -i, the i-th argument had an illegal valueβ0means successful exit π, and< 0means ifINFO = -i, the i-th argument had an illegal value π (rude of it, honestly)
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π§ Contributors:
!>!> November 2019, Igor Kozachenko,!> Computer Science Division,!> University of California, Berkeley!>!>
shoutout Igor, Nov 2019, Computer Science Division, University of California, Berkeley β we see you and we appreciate you π
Definition at line 145 of file dlaorhr_col_getrfnp.f. π (yes, line 145, exact coordinates, no guessing)
π Author
Generated automatically by Doxygen for LAPACK from the source code. so like, a robot wrote this one but the vibe is all hers π€π
and that's the page, bestie! π¦ this little baddie is from LAPACK Version 3.12.0, filed under /home/abui..._getrfnp.f(3), and she said periodt. πβ¨π
π¦ 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