ZLAQP2RK(3)
ZLAQP2RK(3) π β¨
okay bestie, welcome to the Library Functions Manual page for ZLAQP2RK(3). This chunk covers the signature, the purpose, and every single parameter β no skipping, fr fr. π«Ά
NAME π
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zlaqp2rk.f β thatβs the source file, and the routine living here is ZLAQP2RK. π
SYNOPSIS π
Functions/Subroutines π οΈ
subroutine ZLAQP2RK (m, n, nrhs, ioffset, kmax, abstol, reltol, kp1,
maxc2nrm, a, lda, k, maxc2nrmk, relmaxc2nrmk, jpiv, tau, vn1, vn2,
work, info)
ZLAQP2RK computes truncated QR factorization with column pivoting of a complex matrix block using Level 2 BLAS and overwrites a complex m-by-nrhs matrix B with Q**H * B. slay. π
Function/Subroutine Documentation π§
subroutine ZLAQP2RK π
subroutine ZLAQP2RK (integer m, integer n, integer nrhs, integer ioffset,
integer kmax, double precision abstol, double precision reltol, integer
kp1, double precision maxc2nrm, complex*16, dimension( lda, * ) a,
integer lda, integer k, double precision maxc2nrmk, double precision
relmaxc2nrmk, integer, dimension( * ) jpiv, complex*16, dimension( * )
tau, double precision, dimension( * ) vn1, double precision, dimension(
* ) vn2, complex*16, dimension( * ) work, integer info)
ZLAQP2RK computes truncated QR factorization with column pivoting of a complex matrix block using Level 2 BLAS and overwrites a complex m-by-nrhs matrix B with Q**H * B. yes, the same one-liner twice β we respect the lore. π
Purpose β¨
okay so hereβs the vibe: ZLAQP2RK computes a truncated (rank K) or full rank Householder QR factorization with column pivoting of the complex matrix block A(IOFFSET+1:M,1:N) as
A * P(K) = Q(K) * R(K).
The routine uses Level 2 BLAS. The block A(1:IOFFSET,1:N) is accordingly pivoted, but not factorized.
The routine also overwrites the right-hand-sides matrix block B stored in A(IOFFSET+1:M,N+1:N+NRHS) with Q(K)**H * B. π
Parameters π
Mβ INTEGER. The number of rows of matrixA. Constraint:M >= 0. β¨Nβ INTEGER. The number of columns of matrixA. Constraint:N >= 0. β¨NRHSβ INTEGER. The number of right hand sides, i.e. the number of columns of matrixB. Constraint:NRHS >= 0. πIOFFSETβ INTEGER. The number of rows of matrixAthat must be pivoted but not factorized. Constraint:IOFFSET >= 0. Also,IOFFSETrepresents the number of columns of the whole original matrixA_origthat have been factorized in the previous steps. π«ΆKMAXβ INTEGER. The first factorization stopping criterion. Constraint:KMAX >= 0. Itβs the maximum number of columns of matrixAto factorize, i.e. the maximum factorization rank. π- a) If
KMAX >= min(M-IOFFSET,N), then this stopping criterion is not used; factorize columns depending onABSTOLandRELTOL. - b) If
KMAX = 0, then this stopping criterion is satisfied on input and the routine exits immediately. That means the factorization is not performed, and the matricesAandBand the arraysTAU,IPIVare not modified. π
- a) If
ABSTOLβ DOUBLE PRECISION, cannot beNaN. The second factorization stopping criterion. Itβs the absolute tolerance (stopping threshold) for the maximum column 2-norm of the residual matrix. The algorithm converges (stops the factorization) when the maximum column 2-norm of the residual matrix is less than or equal toABSTOL. π- a) If
ABSTOL < 0.0, then this stopping criterion is not used; the routine factorizes columns depending onKMAXandRELTOL. This includes the caseABSTOL = -Inf. - b) If
0.0 <= ABSTOL, then the input value ofABSTOLis used. β¨
- a) If
RELTOLβ DOUBLE PRECISION, cannot beNaN. The third factorization stopping criterion. Itβs the tolerance (stopping threshold) for the ratio of the maximum column 2-norm of the residual matrix to the maximum column 2-norm of the original matrixA_orig. The algorithm converges (stops the factorization) when this ratio is less than or equal toRELTOL. π¦- a) If
RELTOL < 0.0, then this stopping criterion is not used; the routine factorizes columns depending onKMAXandABSTOL. This includes the caseRELTOL = -Inf. - d) If
0.0 <= RELTOL, then the input value ofRELTOLis used. (yes, the original really saysd)β we keep the lore π )
- a) If
KP1β INTEGER. The index of the column with the maximum 2-norm in the whole original matrixA_orig, determined in the main routineZGEQP3RK. Constraint:1 <= KP1 <= N_orig_mat. πMAXC2NRMβ DOUBLE PRECISION. The maximum column 2-norm of the whole original matrixA_orig, computed in the main routineZGEQP3RK. Constraint:MAXC2NRM >= 0. π₯AβCOMPLEX*16array, dimension(LDA,N+NRHS). On entry: theM-by-NmatrixAandM-by-NRHSmatrixB, as in
N NRHS
array_A = M [ mat_A, mat_B ]
On exit:
- The elements in block
A(IOFFSET+1:M,1:K)below the diagonal together with arrayTAUrepresent the unitary matrixQ(K)as a product of elementary reflectors. - The upper triangular block of matrix
Astored inA(IOFFSET+1:M,1:K)is the triangular factor obtained. - The block of matrix
Astored inA(1:IOFFSET,1:N)has been accordingly pivoted, but not factorized. - The rest of array
A, blockA(IOFFSET+1:M,K+1:N+NRHS). The left partA(IOFFSET+1:M,K+1:N)of this block contains the residual of matrixA, and, ifNRHS > 0, the right part of the blockA(IOFFSET+1:M,N+1:N+NRHS)contains the block of the right-hand-side matrixB. Both these blocks have been updated by multiplication from the left byQ(K)**H. π
LDAβ INTEGER. The leading dimension of arrayA. Constraint:LDA >= max(1,M). πKβ INTEGER. Factorization rank of matrixA, i.e. the rank of factorR, which is the same as the number of non-zero rows of factorR. Constraint:0 <= K <= min(M-IOFFSET,KMAX,N). Also,Krepresents the number of non-zero Householder vectors. πMAXC2NRMKβ DOUBLE PRECISION. The maximum column 2-norm of the residual matrix when the factorization stopped at rankK. Constraint:MAXC2NRMK >= 0. πRELMAXC2NRMKβ DOUBLE PRECISION. The ratioMAXC2NRMK / MAXC2NRMof the maximum column 2-norm of the residual matrix (when the factorization stopped at rankK) to the maximum column 2-norm of the whole original matrixA. Constraint:RELMAXC2NRMK >= 0. π¦JPIVβINTEGERarray, dimension(N). Column pivot indices: for1 <= j <= N, columnjof matrixAwas interchanged with columnJPIV(j). πTAUβCOMPLEX*16array, dimension(min(M-IOFFSET,N)). The scalar factors of the elementary reflectors. β¨VN1βDOUBLE PRECISIONarray, dimension(N). The vector with the partial column norms. πVN2βDOUBLE PRECISIONarray, dimension(N). The vector with the exact column norms. πWORKβCOMPLEX*16array, dimension(N-1). Used inZLARFsubroutine to apply an elementary reflector from the left. π§INFOβ INTEGER. Exit / diagnostic code:- 1)
INFO = 0: successful exit. π - 2) If
INFO = j_1, where1 <= j_1 <= N, thenNaNwas detected and the routine stops the computation. Thej_1-th column of matrixAor thej_1-th element of arrayTAUcontains the first occurrence ofNaNin the factorization stepK+1( whenKcolumns have been factorized ). On exit:Kis set to the number of factorized columns without exception.MAXC2NRMKis set toNaN.RELMAXC2NRMKis set toNaN.TAU(K+1:min(M,N))is not set and contains undefined elements. Ifj_1=K+1,TAU(K+1)may containNaN. π
- 3) If
INFO = j_2, whereN+1 <= j_2 <= 2*N, then noNaNwas detected, but+Inf(or-Inf) was detected and the routine continues the computation until completion. The(j_2-N)-th column of matrixAcontains the first occurrence of+Inf(or-Inf) in the factorization stepK+1( whenKcolumns have been factorized ). π₯
- 1)
Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π References π
okay bestie, the receipts are here and they are iconic β keep every single detail, no cap:
- [1] β A Level 3 BLAS QR factorization algorithm with column pivoting developed in 1996. G. Quintana-Orti, Depto. de Informatica, Universidad Jaime I, Spain. X. Sun, Computer Science Dept., Duke University, USA. C. H. Bischof, Math. and Comp. Sci. Div., Argonne National Lab, USA. A BLAS-3 version of the QR factorization with column pivoting.
LAPACK Working Note 114and inSIAM J. Sci. Comput., 19(5):1486-1494, Sept. 1998. - [2] β A partial column norm updating strategy developed in 2006. Z. Drmac and Z. Bujanovic, Dept. of Math., University of Zagreb, Croatia. On the failure of rank revealing QR factorization software β a case study.
LAPACK Working Note 176.and inACM Trans. Math. Softw. 35, 2, Article 12 (July 2008), 28 pages.
π«Ά Contributors π«Ά
and then the contributors block, served exactly like this:
!>
!> November 2023, Igor Kozachenko, James Demmel,
!> EECS Department,
!> University of California, Berkeley, USA.
!>
!>
Definition at line 341 of file zlaqp2rk.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
thatβs the footer vibe, bestie: LAPACK Version 3.12.0, file /home/abui.../zlaqp2rk.f(3), with the source/version/date footer doing its generated little thing. π
β¨π«Ά
π¦ 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