/home/abui...L/cgeqrf.f(3)
๐ธ CGEQRF(3) โ the left-looking Level 3 BLAS queen ๐
okay bestie, so you found yourself on a <pink>Library Functions Manual</pink> page and it's a whole LAPACK situation. This one's the cgeqrf.f page, and the file it lives in is literally this whole dramatic path:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/VARIANTS/qr/LL/cgeqrf.f
anyway she's an icon, let's get into it ๐
โจ SYNOPSIS โจ
Functions/Subroutines
subroutine CGEQRF (m, n, a, lda, tau, work, lwork, info)โ CGEQRF VARIANT: left-looking Level 3 BLAS version of the algorithm. ๐ซถ
๐ฆ Function/Subroutine Documentation ๐ฆ
subroutine CGEQRF (integer m, integer n, complex, dimension( lda, * ) a, integer lda, complex, dimension( * ) tau, complex, dimension( * ) work, integer lwork, integer info)
CGEQRF VARIANT: left-looking Level 3 BLAS version of the algorithm. no cap.
Purpose ๐
CGEQRF computes a QR factorization of a complex M-by-N matrix A: A = Q * R. This is the left-looking Level 3 BLAS version of the algorithm.
bestie that's the whole plot: it takes your complex M-by-N matrix A and factorizes it into Q * R. and yes, this specific one is the left-looking Level 3 BLAS variant, which is the main character of this page ๐
Parameters ๐
MโMisINTEGER. The number of rows of the matrixA.M >= 0.NโNisINTEGER. The number of columns of the matrixA.N >= 0.AโAisCOMPLEX array, dimension (LDA,N). On entry, theM-by-NmatrixA. On exit, the elements on and above the diagonal of the array contain themin(M,N)-by-Nupper trapezoidal matrixR(Ris upper triangular ifm >= n); the elements below the diagonal, with the arrayTAU, represent the orthogonal matrixQas a product ofmin(m,n)elementary reflectors (see Further Details). she contains multitudes honestly โจLDAโLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,M).TAUโTAUisCOMPLEX array, dimension (min(M,N)). The scalar factors of the elementary reflectors (see Further Details). ๐ธWORKโWORKisCOMPLEX array, dimension (MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK. ๐LWORKโLWORKisINTEGER.
The dimension of the array WORK. LWORK >= 1 if MIN(M,N) = 0, otherwise the dimension can be divided into three parts. three parts!! she's got sections!!
- The part for the triangular factor
T. If the very lastTis not bigger than any of the rest, then this part isNB x ceiling(K/NB), otherwise,NB x (K-NT), whereK = min(M,N)andNTis the dimension of the very lastT - The part for the very last
TwhenTis bigger than any of the restT. The size of this part isNT x NT, whereNT = K - ceiling ((K-NX)/NB) x NB, whereK = min(M,N),NXis calculated by
NX = MAX( 0, ILAENV( 3, 'CGEQRF', ' ', M, N, -1, -1 ) )
- The part for
dlarfbis of sizemax((N-M)*K, (N-M)*NB, K*NB, NB*NB)
So LWORK = part1 + part2 + part3 ๐งฎ math girlies rise
IfLWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of theWORKarray, returns this value as the first entry of theWORKarray, and no error message related toLWORKis issued byXERBLA. ๐ซถ
INFOโINFOisINTEGER.= 0: successful exit ๐< 0: ifINFO = -i, the i-th argument had an illegal value ๐
Author ๐ซถ
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date ๐ธ
December 2016
Further Details โญ
The matrixQis represented as a product of elementary reflectorsQ = H(1) H(2) . . . H(k), where k = min(m,n).EachH(i)has the formH(i) = I - tau * v * v'wheretauis a real scalar, andvis a real vector withv(1:i-1) = 0andv(i) = 1;v(i+1:m)is stored on exit inA(i+1:m,i), andtauinTAU(i).
(yes it says real scalar and real vector right there in the source, we're just reporting what the page says, don't come for me ๐)
Definition at line 151 of file cgeqrf.f. ๐ฅ
๐ Author ๐
Generated automatically by Doxygen for LAPACK from the source code.
and that's the whole page bestie, periodt. ๐ฆ This icon is from LAPACK, Version 3.12.0, and the page you just read is /home/abui...L/cgeqrf.f(3) โ go forth and factorize your QR, you've got this ๐โจ
๐ฆ 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