laqps(3)
π
laqps(3) β the laqps page, but make it make sense
okay so bestie, this is laqps(3) from the Library Functions Manual, and it's literally the "step of geqp3" situation. Think of it as the little worker bee that does one chunk of a pivoted QR factorization. Not me about to explain pivoted QR in detail because honestly the page doesn't. Let's go π₯
β¨ NAME β¨
laqps β like, the whole name. laqps: step of geqp3. That's the vibe. Short, iconic, to the point π
πΈ SYNOPSIS πΈ
π«Ά Functions
subroutine claqps (m, n, offset, nb, kb, a, lda, jpvt, tau, vn1, vn2, auxv, f, ldf)β CLAQPS computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3.subroutine dlaqps (m, n, offset, nb, kb, a, lda, jpvt, tau, vn1, vn2, auxv, f, ldf)β DLAQPS computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3.subroutine slaqps (m, n, offset, nb, kb, a, lda, jpvt, tau, vn1, vn2, auxv, f, ldf)β SLAQPS computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3.subroutine zlaqps (m, n, offset, nb, kb, a, lda, jpvt, tau, vn1, vn2, auxv, f, ldf)β ZLAQPS computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3.
so yeah, four flavors β one per precision. same energy, different vibes β
Detailed Description
(the page just vibes here β this heading exists, then it's straight into the function docs π)
π₯ Function Documentation π₯
π subroutine claqps (integer m, integer n, integer offset, integer nb, integer kb, complex, dimension( lda, * ) a, integer lda, integer, dimension( * ) jpvt, complex, dimension( * ) tau, real, dimension( * ) vn1, real, dimension( * ) vn2, complex, dimension( * ) auxv, complex, dimension( ldf, * ) f, integer ldf)
CLAQPS computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3.
Purpose:
!>
!> CLAQPS computes a step of QR factorization with column pivoting
!> of a complex M-by-N matrix A by using Blas-3. It tries to factorize
!> NB columns from A starting from the row OFFSET+1, and updates all
!> of the matrix with Blas-3 xGEMM.
!>
!> In some cases, due to catastrophic cancellations, it cannot
!> factorize NB columns. Hence, the actual number of factorized
!> columns is returned in KB.
!>
!> Block A(1:OFFSET,1:N) is accordingly pivoted, but not factorized.
!>
Parameters
Mβ!>MisINTEGER, the number of rows of the matrixA.M >= 0.!>Nβ!>NisINTEGER, the number of columns of the matrixA.N >= 0.!>OFFSETβ!>OFFSETisINTEGER, the number of rows ofAthat have been factorized in previous steps.!>NBβ!>NBisINTEGER, the number of columns to factorize.!>KBβ!>KBisINTEGER, the number of columns actually factorized.!>Aβ!>AisCOMPLEXarray, dimension(LDA,N). On entry, theM-by-NmatrixA. On exit, blockA(OFFSET+1:M,1:KB)is the triangular factor obtained and blockA(1:OFFSET,1:N)has been accordingly pivoted, but no factorized. The rest of the matrix, blockA(OFFSET+1:M,KB+1:N)has been updated.!>LDAβ!>LDAisINTEGER, the leading dimension of the arrayA.LDA >= max(1,M).!>JPVTβ!>JPVTisINTEGERarray, dimension(N).JPVT(I) = K <==> Column K of the full matrix A has been permuted into position I in AP.!>TAUβ!>TAUisCOMPLEXarray, dimension(KB), the scalar factors of the elementary reflectors.!>VN1β!>VN1isREALarray, dimension(N), the vector with the partial column norms.!>VN2β!>VN2isREALarray, dimension(N), the vector with the exact column norms.!>AUXVβ!>AUXVisCOMPLEXarray, dimension(NB), auxiliary vector.!>Fβ!>FisCOMPLEXarray, dimension(LDF,NB). MatrixF**H = L * Y**H * A.!>LDFβ!>LDFisINTEGER, the leading dimension of the arrayF.LDF >= max(1,N).!>
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Contributors:
- G. Quintana-Orti, Depto. de Informatica, Universidad Jaime I, Spain
- X. Sun, Computer Science Dept., Duke University, USA
Partial column norm updating strategy modified on April 2011 Z. Drmac and Z. Bujanovic, Dept. of Mathematics, University of Zagreb, Croatia.
References:
LAPACK Working Note 176
Definition at line 176 of file claqps.f.
π¦ subroutine dlaqps (integer m, integer n, integer offset, integer nb, integer kb, double precision, dimension( lda, * ) a, integer lda, integer, dimension( * ) jpvt, double precision, dimension( * ) tau, double precision, dimension( * ) vn1, double precision, dimension( * ) vn2, double precision, dimension( * ) auxv, double precision, dimension( ldf, * ) f, integer ldf)
DLAQPS computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3.
Purpose:
!>
!> DLAQPS computes a step of QR factorization with column pivoting
!> of a real M-by-N matrix A by using Blas-3. It tries to factorize
!> NB columns from A starting from the row OFFSET+1, and updates all
!> of the matrix with Blas-3 xGEMM.
!>
!> In some cases, due to catastrophic cancellations, it cannot
!> factorize NB columns. Hence, the actual number of factorized
!> columns is returned in KB.
!>
!> Block A(1:OFFSET,1:N) is accordingly pivoted, but not factorized.
!>
Parameters
Mβ!>MisINTEGER, the number of rows of the matrixA.M >= 0.!>Nβ!>NisINTEGER, the number of columns of the matrixA.N >= 0.!>OFFSETβ!>OFFSETisINTEGER, the number of rows ofAthat have been factorized in previous steps.!>NBβ!>NBisINTEGER, the number of columns to factorize.!>KBβ!>KBisINTEGER, the number of columns actually factorized.!>Aβ!>AisDOUBLE PRECISIONarray, dimension(LDA,N). On entry, theM-by-NmatrixA. On exit, blockA(OFFSET+1:M,1:KB)is the triangular factor obtained and blockA(1:OFFSET,1:N)has been accordingly pivoted, but no factorized. The rest of the matrix, blockA(OFFSET+1:M,KB+1:N)has been updated.!>LDAβ!>LDAisINTEGER, the leading dimension of the arrayA.LDA >= max(1,M).!>JPVTβ!>JPVTisINTEGERarray, dimension(N).JPVT(I) = K <==> Column K of the full matrix A has been permuted into position I in AP.!>TAUβ!>TAUisDOUBLE PRECISIONarray, dimension(KB), the scalar factors of the elementary reflectors.!>VN1β!>VN1isDOUBLE PRECISIONarray, dimension(N), the vector with the partial column norms.!>VN2β!>VN2isDOUBLE PRECISIONarray, dimension(N), the vector with the exact column norms.!>AUXVβ!>AUXVisDOUBLE PRECISIONarray, dimension(NB), auxiliary vector.!>Fβ!>FisDOUBLE PRECISIONarray, dimension(LDF,NB). MatrixF**T = L*Y**T*A.!>LDFβ!>LDFisINTEGER, the leading dimension of the arrayF.LDF >= max(1,N).!>
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Contributors:
- G. Quintana-Orti, Depto. de Informatica, Universidad Jaime I, Spain
- X. Sun, Computer Science Dept., Duke University, USA
Partial column norm updating strategy modified on April 2011 Z. Drmac and Z. Bujanovic, Dept. of Mathematics, University of Zagreb, Croatia.
References:
LAPACK Working Note 176
Definition at line 175 of file dlaqps.f.
π subroutine slaqps (integer m, integer n, integer offset, integer nb, integer kb, real, dimension( lda, * ) a, integer lda, integer, dimension( * ) jpvt, real, dimension( * ) tau, real, dimension( * ) vn1, real, dimension( * ) vn2, real, dimension( * ) auxv, real, dimension( ldf, * ) f, integer ldf)
SLAQPS computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3.
Purpose:
!>
!> SLAQPS computes a step of QR factorization with column pivoting
!> of a real M-by-N matrix A by using Blas-3. It tries to factorize
!> NB columns from A starting from the row OFFSET+1, and updates all
!> of the matrix with Blas-3 xGEMM.
!>
!> In some cases, due to catastrophic cancellations, it cannot
!> factorize NB columns. Hence, the actual number of factorized
!> columns is returned in KB.
!>
!> Block A(1:OFFSET,1:N) is accordingly pivoted, but not factorized.
!>
Parameters
Mβ!>MisINTEGER, the number of rows of the matrixA.M >= 0.!>Nβ!>NisINTEGER, the number of columns of the matrixA.N >= 0.!>OFFSETβ!>OFFSETisINTEGER, the number of rows ofAthat have been factorized in previous steps.!>NBβ!>NBisINTEGER, the number of columns to factorize.!>KBβ!>KBisINTEGER, the number of columns actually factorized.!>Aβ!>AisREALarray, dimension(LDA,N). On entry, theM-by-NmatrixA. On exit, blockA(OFFSET+1:M,1:KB)is the triangular factor obtained and blockA(1:OFFSET,1:N)has been accordingly pivoted, but no factorized. The rest of the matrix, blockA(OFFSET+1:M,KB+1:N)has been updated.!>LDAβ!>LDAisINTEGER, the leading dimension of the arrayA.LDA >= max(1,M).!>JPVTβJPVTisINTEGER array, dimension (N). The tea β:JPVT(I) = K <==> Column K of the full matrix A has been permuted into position I in AP. Basically the receipts for where every column ended up πTAUβTAUisREAL array, dimension (KB). The scalar factors of the elementary reflectors. Iconic little scalars, no notes β¨VN1βVN1isREAL array, dimension (N). The vector with the partial column norms. Keeping the vibe check on column sizes π«ΆVN2βVN2isREAL array, dimension (N). The vector with the exact column norms. The exact tea, not the approximations πAUXVβAUXVisREAL array, dimension (NB). Auxiliary vector. Sidekick energy π§FβFisREAL array, dimension (LDF,NB). MatrixF**T = L*Y**T*A. Yes that's a transpose, not a typo πLDFβLDFisINTEGER. The leading dimension of the arrayF.LDF >= max(1,N). Respect the leading dimension or else π
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Contributors:
- G. Quintana-Orti, Depto. de Informatica, Universidad Jaime I, Spain
- X. Sun, Computer Science Dept., Duke University, USA
- Partial column norm updating strategy modified on April 2011 Z. Drmac and Z. Bujanovic, Dept. of Mathematics, University of Zagreb, Croatia.
π References:
- LAPACK Working Note 176
Definition at line 176 of file slaqps.f.
π subroutine zlaqps
subroutine zlaqps (integer m, integer n, integer offset, integer nb, integer
kb, complex*16, dimension( lda, * ) a, integer lda, integer, dimension(
* ) jpvt, complex*16, dimension( * ) tau, double precision, dimension( *
) vn1, double precision, dimension( * ) vn2, complex*16, dimension( * )
auxv, complex*16, dimension( ldf, * ) f, integer ldf)
ZLAQPS computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3.
π₯ Purpose:
ZLAQPS computes a step of QR factorization with column pivoting of a complex M-by-N matrix A by using Blas-3. It tries to factorize NB columns from A starting from the row OFFSET+1, and updates all of the matrix with Blas-3 xGEMM.
Sometimes, due to catastrophic cancellations π, it cannot factorize NB columns. Hence, the actual number of factorized columns is returned in KB.
Block A(1:OFFSET,1:N) is accordingly pivoted, but not factorized. It's giving βwe moved it but didn't do the workβ energy π
πΈ Parameters
MβMisINTEGER. The number of rows of the matrixA.M >= 0.NβNisINTEGER. The number of columns of the matrixA.N >= 0OFFSETβOFFSETisINTEGER. The number of rows ofAthat have been factorized in previous steps.NBβNBisINTEGER. The number of columns to factorize.KBβKBisINTEGER. The number of columns actually factorized.AβAisCOMPLEX*16 array, dimension (LDA,N). On entry, theM-by-NmatrixA. On exit, blockA(OFFSET+1:M,1:KB)is the triangular factor obtained and blockA(1:OFFSET,1:N)has been accordingly pivoted, but no factorized. The rest of the matrix, blockA(OFFSET+1:M,KB+1:N)has been updated.LDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,M).JPVTβJPVTisINTEGER array, dimension (N).JPVT(I) = K <==> Column K of the full matrix A has been permuted into position I in AP.TAUβTAUisCOMPLEX*16 array, dimension (KB). The scalar factors of the elementary reflectors.VN1βVN1isDOUBLE PRECISION array, dimension (N). The vector with the partial column norms.VN2βVN2isDOUBLE PRECISION array, dimension (N). The vector with the exact column norms.AUXVβAUXVisCOMPLEX*16 array, dimension (NB). Auxiliary vector.FβFisCOMPLEX*16 array, dimension (LDF,NB). MatrixF**H = L * Y**H * A.LDFβLDFisINTEGER. The leading dimension of the arrayF.LDF >= max(1,N).
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Contributors:
- G. Quintana-Orti, Depto. de Informatica, Universidad Jaime I, Spain
- X. Sun, Computer Science Dept., Duke University, USA
- Partial column norm updating strategy modified on April 2011 Z. Drmac and Z. Bujanovic, Dept. of Mathematics, University of Zagreb, Croatia.
π References:
- LAPACK Working Note 176
Definition at line 175 of file zlaqps.f.
Generated automatically by Doxygen for LAPACK from the source code β that's the source, bestie π«Ά LAPACK Version 3.12.0, laqps(3), and that's the footer tea π
π¦ 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