launhr_col_getrfnp2(3)
π NAME π
ok so launhr_col_getrfnp2 β it's the whole la{un,or}hr_col_getrfnp2 situation, aka LU factor without pivoting, level 2. bestie it's giving "recursive LU but make it a family", iykyk π
β¨ SYNOPSIS β¨
π«Ά Functions
recursive subroutine claunhr_col_getrfnp2 (m, n, a, lda, d, info)β no cap this isCLAUNHR_COL_GETRFNP2recursive subroutine dlaorhr_col_getrfnp2 (m, n, a, lda, d, info)βDLAORHR_COL_GETRFNP2recursive subroutine slaorhr_col_getrfnp2 (m, n, a, lda, d, info)βSLAORHR_COL_GETRFNP2recursive subroutine zlaunhr_col_getrfnp2 (m, n, a, lda, d, info)βZLAUNHR_COL_GETRFNP2
π DETAILED DESCRIPTION π
lowkey this section is just vibes in the original β no content, just the heading sitting there being iconic. the real tea is all under Function Documentation below π«Ά
π₯ FUNCTION DOCUMENTATION π₯
π
claunhr_col_getrfnp2 β the complex one
recursive subroutine claunhr_col_getrfnp2 (integer m, integer n, complex,
dimension( lda, * ) a, integer lda, complex, dimension( * ) d, integer
info)
CLAUNHR_COL_GETRFNP2 β say that five times fast π
π― Purpose
ok so picture this: CLAUNHR_COL_GETRFNP2 computes the modified LU factorization without pivoting of a complex general M-by-N matrix A. and the factorization has the form:
A - S = L * U,
where, let me break it down for you π§:
- 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 asD(i)=-SIGN(A(i,i)), whereA(i,i)is the value after performingi-1steps of Gaussian elimination. Translation? 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 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 CUNHR_COL. In CUNHR_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]. periodt. π
For more details on the Householder reconstruction algorithm, including the modified LU factorization, see [1].
This is the recursive version of the LU factorization algorithm. Denote A - S by B. The algorithm divides the matrix B into four submatrices:
[ B11 | B12 ] where B11 is n1 by n1,
B = [ -----|----- ] B21 is (m-n1) by n1,
[ B21 | B22 ] B12 is n1 by n2,
B22 is (m-n1) by n2,
with n1 = min(m,n)/2, n2 = n-n1.
The subroutine calls itself to factor B11, solves for B21, solves for B12, updates B22, then calls itself to factor B22. it's giving recursion, it's giving main character energy, honestly obsessed π
For more details on the recursive LU algorithm, see [2].
CLAUNHR_COL_GETRFNP2 is called to factorize a block by the blocked routine CLAUNHR_COL_GETRFNP, which uses blocked code calling Level 3 BLAS to update the submatrix. BUT β and this is the slay part β CLAUNHR_COL_GETRFNP2 is self-sufficient and can be used without CLAUNHR_COL_GETRFNP. independent queen π
- [1] , G. Ballard, J. Demmel, L. Grigori, M. Jacquelin, H.D. Nguyen, E. Solomonik, J. Parallel Distrib. Comput., vol. 85, pp. 3-31, 2015.
- [2] , F. Gustavson, IBM J. of Res. and Dev., vol. 41, no. 6, pp. 737-755, 1997.
π§Ύ Parameters
MβM is INTEGER. The number of rows of the matrix A.M >= 0. no negatives bestie, we don't do that here β¨NβN is INTEGER. The number of columns of the matrix A.N >= 0. same energy π«ΆAβA is COMPLEX array, dimension (LDA,N). On entry, the M-by-N matrix to be factored. On exit, the factors L and U from the factorizationA-S=L*U; the unit diagonal elements of L are not stored. so don't go looking for them, they're not there πLDAβLDA is INTEGER. The leading dimension of the array A.LDA >= max(1,M). respect the boundary fr frDβD is COMPLEX array, dimension min(M,N). The diagonal elements of the diagonal M-by-N sign matrix S,D(i) = S(i,i), where1 <= i <= min(M,N). The elements can be only( +1.0, 0.0 )or(-1.0, 0.0 ). like, pick a lane, it's one or the other πINFOβINFO is INTEGER.= 0: successful exit π< 0: ifINFO = -i, thei-th argument had an illegal value. not me passing a bad argument π
π 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
π Definition
Definition at line 166 of file claunhr_col_getrfnp2.f.
π¦ dlaorhr_col_getrfnp2 β the double precision one
recursive subroutine dlaorhr_col_getrfnp2 (integer m, integer n, double
precision, dimension( lda, * ) a, integer lda, double precision,
dimension( * ) d, integer info)
DLAORHR_COL_GETRFNP2 π
π― Purpose
DLAORHR_COL_GETRFNP2 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 asD(i)=-SIGN(A(i,i)), whereA(i,i)is the value after performingi-1steps 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 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 recursive version of the LU factorization algorithm. Denote A - S by B. The algorithm divides the matrix B into four submatrices:
[ B11 | B12 ] where B11 is n1 by n1,
B = [ -----|----- ] B21 is (m-n1) by n1,
[ B21 | B22 ] B12 is n1 by n2,
B22 is (m-n1) by n2,
with n1 = min(m,n)/2, n2 = n-n1.
The subroutine calls itself to factor B11, solves for B21, solves for B12, updates B22, then calls itself to factor B22.
For more details on the recursive LU algorithm, see [2].
DLAORHR_COL_GETRFNP2 is called to factorize a block by the blocked routine DLAORHR_COL_GETRFNP, which uses blocked code calling Level 3 BLAS to update the submatrix. However, DLAORHR_COL_GETRFNP2 is self-sufficient and can be used without DLAORHR_COL_GETRFNP. standing on its own two feet π«Ά
- [1] , G. Ballard, J. Demmel, L. Grigori, M. Jacquelin, H.D. Nguyen, E. Solomonik, J. Parallel Distrib. Comput., vol. 85, pp. 3-31, 2015.
- [2] , F. Gustavson, IBM J. of Res. and Dev., vol. 41, no. 6, pp. 737-755, 1997.
π§Ύ 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 factorizationA-S=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).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), where1 <= i <= min(M,N). The elements can be only plus or minus one. two options, that's it, that's the whole menu β¨INFOβINFO is INTEGER.= 0: successful exit π< 0: ifINFO = -i, thei-th argument had an illegal value.
π 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
π Definition
Definition at line 166 of file dlaorhr_col_getrfnp2.f.
π slaorhr_col_getrfnp2 β the real one
recursive subroutine slaorhr_col_getrfnp2 (integer m, integer n, real,
dimension( lda, * ) a, integer lda, real, dimension( * ) d, integer
info)
SLAORHR_COL_GETRFNP2 π
π― Purpose
aaaand that's where part 1 runs out π the rest of this one is waiting for you in part 2 bestie, keep scrolling π«Ά
π Parameters β SLAORHR_COL_GETRFNP2
MβMisINTEGER. Itβs literally the number of rows of the matrixA. Constraint:M >= 0.NβNisINTEGER. The number of columns of the matrixA. Constraint:N >= 0.AβAis aREALarray with dimension(LDA,N). On entry, itβs the M-by-N matrix to be factored. On exit, it holds the factorsLandUfrom the factorizationA-S=L*U; the unit diagonal elements ofLare not stored.LDAβLDAisINTEGER. The leading dimension of the arrayA. Constraint:LDA >= max(1,M).DβDis aREALarray with dimensionmin(M,N). These are the diagonal elements of the diagonal M-by-N sign matrixS:D(i) = S(i,i), where1 <= i <= min(M,N). The elements can be only plus or minus one.INFOβINFOisINTEGER. Status check:= 0means successful exit;< 0means ifINFO = -i, the i-th argument had an illegal value.
π 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.
π Definition at line 166 of file slaorhr_col_getrfnp2.f.
π§ recursive subroutine zlaunhr_col_getrfnp2
ZLAUNHR_COL_GETRFNP2
recursive subroutine zlaunhr_col_getrfnp2 (integer m, integer n, complex*16,
dimension( lda, * ) a, integer lda, complex*16, dimension( * ) d,
integer info)
π― Purpose:
Okay bestie, this one is the complex*16 sibling of the routine above β no cap. ZLAUNHR_COL_GETRFNP2 computes the modified LU factorization without pivoting of a complex general M-by-N matrix A. The factorization has the form:
A - S = L * U,
where:
Sis a m-by-n diagonal sign matrix with the diagonalD, so thatD(i) = S(i,i),1 <= i <= min(M,N). The diagonalDis constructed asD(i)=-SIGN(A(i,i)), whereA(i,i)is the value after performingi-1steps 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 possible during the division by the diagonal element).Lis a M-by-N lower triangular matrix with unit diagonal elements (lower trapezoidal ifM > N).Uis a M-by-N upper triangular matrix (upper trapezoidal ifM < N).
This routine is an auxiliary routine used in the Householder reconstruction routine ZUNHR_COL. In ZUNHR_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 recursive version of the LU factorization algorithm. Denote A - S by B. The algorithm divides the matrix B into four submatrices:
[ B11 | B12 ] where B11 is n1 by n1,
B = [ -----|----- ] B21 is (m-n1) by n1,
[ B21 | B22 ] B12 is n1 by n2,
B22 is (m-n1) by n2,
with n1 = min(m,n)/2, n2 = n-n1.
The subroutine calls itself to factor B11, solves for B21, solves for B12, updates B22, then calls itself to factor B22.
For more details on the recursive LU algorithm, see [2].
ZLAUNHR_COL_GETRFNP2 is called to factorize a block by the blocked routine ZLAUNHR_COL_GETRFNP, which uses blocked code calling Level 3 BLAS to update the submatrix. However, ZLAUNHR_COL_GETRFNP2 is self-sufficient and can be used without ZLAUNHR_COL_GETRFNP.
- [1] G. Ballard, J. Demmel, L. Grigori, M. Jacquelin, H.D. Nguyen, E. Solomonik, J. Parallel Distrib. Comput., vol. 85, pp. 3-31, 2015.
- [2] F. Gustavson, IBM J. of Res. and Dev., vol. 41, no. 6, pp. 737-755, 1997.
β¨ Parameters β ZLAUNHR_COL_GETRFNP2
MβMisINTEGER. The number of rows of the matrixA. Constraint:M >= 0.NβNisINTEGER. The number of columns of the matrixA. Constraint:N >= 0.AβAis aCOMPLEX*16array with dimension(LDA,N). On entry, itβs the M-by-N matrix to be factored. On exit, it holds the factorsLandUfrom the factorizationA-S=L*U; the unit diagonal elements ofLare not stored.LDAβLDAisINTEGER. The leading dimension of the arrayA. Constraint:LDA >= max(1,M).DβDis aCOMPLEX*16array with dimensionmin(M,N). These are the diagonal elements of the diagonal M-by-N sign matrixS:D(i) = S(i,i), where1 <= i <= min(M,N). The elements can be only( +1.0, 0.0 )or(-1.0, 0.0 ).INFOβINFOisINTEGER. Status check:= 0means successful exit;< 0means ifINFO = -i, the i-th argument had an illegal value.
π 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.
π Definition at line 166 of file zlaunhr_col_getrfnp2.f.
And thatβs the whole page, bestie. π
The footer energy is: auto-generated by Doxygen for LAPACK from the source code, LAPACK Version 3.12.0, page launhr_col_getrfnp2(3). Slay. β¨
π¦ 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