CGEQR2(3)
π CGEQR2 π
okay bestie, welcome to the LAPACK Library Functions Manual page for CGEQR2. this is the one that computes the QR factorization of a general rectangular matrix using an unblocked algorithm, and we are going to get through every single detail together. no skipping, no βeh close enoughβ β periodt. β¨
π NAME π
The NAME is literally this source path, character for character:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cgeqr2.f
Thatβs the file this manual page is about, bestie. π«Ά
β¨ SYNOPSIS β¨
π«Ά Functions/Subroutines π«Ά
subroutine CGEQR2 (m, n, a, lda, tau, work, info)β CGEQR2 computes the QR factorization of a general rectangular matrix using an unblocked algorithm.
πΈ Function/Subroutine Documentation πΈ
Okay so hereβs the full signature, and yes we are keeping every type and dimension because thatβs the whole point:
subroutine CGEQR2 (integer m, integer n, complex, dimension( lda, * ) a,
integer lda, complex, dimension( * ) tau, complex, dimension( * ) work,
integer info)
CGEQR2 computes the QR factorization of a general rectangular matrix using an unblocked algorithm. π
π¦ Purpose π¦
Hereβs the purpose block, verbatim vibes:
!>
!> CGEQR2 computes a QR factorization of a complex m-by-n matrix A:
!>
!> A = Q * ( R ),
!> ( 0 )
!>
!> where:
!>
!> Q is a m-by-m orthogonal matrix;
!> R is an upper-triangular n-by-n matrix;
!> 0 is a (m-n)-by-n zero matrix, if m > n.
!>
!>
So yeah: A = Q * ( R ) over ( 0 ), with Q a m-by-m orthogonal matrix, R an upper-triangular n-by-n matrix, and 0 a (m-n)-by-n zero matrix if m > n. iconic. π
π 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. πAβA is COMPLEX 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 unitary matrixQas a product of elementary reflectors (see Further Details). π¦LDAβLDA is INTEGER; the leading dimension of the arrayA.LDA >= max(1,M). πTAUβTAU is COMPLEX array, dimension (min(M,N)); the scalar factors of the elementary reflectors (see Further Details). πWORKβWORK is COMPLEX array, dimension (N). π οΈINFOβINFO is INTEGER;= 0: successful exit;< 0: ifINFO = -i, thei-thargument had an illegal value. π¨
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
all four, bestie. no cap. π«Ά
π₯ Further Details π₯
The matrix Q is represented as a product of elementary reflectors:
Q = H(1) H(2) . . . H(k), where k = min(m,n).
Each H(i) has the form:
H(i) = I - tau * v * v**H
where tau is a complex scalar, and v is a complex vector with v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i), and tau in TAU(i). β
Definition at line 129 of file cgeqr2.f. π (not me keeping the line number, but also yes me.)
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, thatβs the whole page! the footer energy is LAPACK, Version 3.12.0, source path /home/abui...RC/cgeqr2.f(3) β no separate date in the footer, just the version and source tag, and thatβs a wrap. πβ¨
π¦ 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