SRC/claqps.f(3)
β¨ NAME β¨
okay so bestie, this page is SRC/claqps.f(3) β and the NAME line is literally just SRC/claqps.f β from the LAPACK Library Functions Manual. It's giving "subroutine with a very specific job and a lot of array dimensions" energy, and honestly? iconic. π
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine claqps (m, n, offset, nb, kb, a, lda, jpvt, tau, vn1, vn2,
auxv, f, ldf)
So what does it do? CLAQPS computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3. That's the synopsis tea. π«
π¦ Function/Subroutine 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)
Same energy as the synopsis, bestie: CLAQPS computes a step of QR factorization with column pivoting of a real m-by-n matrix A by using BLAS level 3. π
Purpose: π―
okay so here's the actual plot: 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βM is INTEGER. The number of rows of the matrixA.M >= 0.NβN is INTEGER. The number of columns of the matrixA.N >= 0.OFFSETβOFFSET is INTEGER. The number of rows ofAthat have been factorized in previous steps.NBβNB is INTEGER. The number of columns to factorize.KBβKB is INTEGER. The number of columns actually factorized.AβA is COMPLEX array, dimension (LDA,N).- On entry, the
M-by-NmatrixA. - On exit, block
A(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, block
A(OFFSET+1:M,KB+1:N)has been updated.
- On entry, the
LDAβLDA is INTEGER. The leading dimension of the arrayA.LDA >= max(1,M).JPVTβJPVT is INTEGER array, dimension (N).JPVT(I) = K <==> Column K of the full matrix A has been permuted into position I in AP.TAUβTAU is COMPLEX array, dimension (KB). The scalar factors of the elementary reflectors.VN1βVN1 is REAL array, dimension (N). The vector with the partial column norms.VN2βVN2 is REAL array, dimension (N). The vector with the exact column norms.AUXVβAUXV is COMPLEX array, dimension (NB). Auxiliary vector.FβF is COMPLEX array, dimension (LDF,NB). MatrixF**H = L * Y**H * A.LDFβLDF is INTEGER. 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.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
π that's the page, bestie β signing off from LAPACK Version 3.12.0, file SRC/claqps.f(3). Go forth and pivot your columns, but, like, carefully. π
π¦ 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