geqr2(3)
πΈ geqr2(3) πΈ
okay so bestie, welcome to geqr2(3) from the Library Functions Manual β this is the level-2 QR factorization page and it's honestly kind of a whole vibe. β¨
π NAME π
geqr2 β geqr2: QR factor, level 2
like, that's the name, that's the function, that's the energy. geqr2 does QR factorization at level 2. no cap. π
π¦ SYNOPSIS π¦
β¨ Functions β¨
okay so there are four of these bad boys β one for each flavor of precision, and they all lowkey do the same iconic thing. here's the lineup, and yes you're gonna want to memorize the argument list because it never changes:
subroutine cgeqr2 (m, n, a, lda, tau, work, info)β CGEQR2 computes the QR factorization of a general rectangular matrix using an unblocked algorithm. π complex single precision, main character energy.subroutine dgeqr2 (m, n, a, lda, tau, work, info)β DGEQR2 computes the QR factorization of a general rectangular matrix using an unblocked algorithm. π double precision, the reliable one.subroutine sgeqr2 (m, n, a, lda, tau, work, info)β SGEQR2 computes the QR factorization of a general rectangular matrix using an unblocked algorithm. π single precision, fast and cute.subroutine zgeqr2 (m, n, a, lda, tau, work, info)β ZGEQR2 computes the QR factorization of a general rectangular matrix using an unblocked algorithm. π complex double precision, literally royalty. π
ngl the only thing that changes between them is the type ofa,tau, andworkβm,n,lda, andinfostay the same everywhere. iykyk.
π Detailed Description π
...and that's where part 1 leaves us, bestie β the details are still coming, don't go anywhere π«Ά
π FUNCTION DOCUMENTATION π
okay bestie, buckle up π because this page is literally a four-for-one. Same routine, four different data types β it's giving "the squad all wore matching outfits but in different colors" energy. Let's go one by one β¨
π¦ cgeqr2 β the complex single-precision one π¦
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. no cap, that's the whole vibe π«Ά
π Purpose
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.
πΈ Parameters
MβMisINTEGER. The number of rows of the matrix A.M >= 0. πNβNisINTEGER. The number of columns of the matrix A.N >= 0. πAβAisCOMPLEXarray, dimension(LDA,N). On entry, the m by n matrix A. On exit, the elements on and above the diagonal of the array contain themin(m,n)by n upper trapezoidal matrix R (R is upper triangular ifm >= n); the elements below the diagonal, with the arrayTAU, represent the unitary matrix Q as a product of elementary reflectors (see Further Details). πLDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,M). π¨ respect the constraint fr frTAUβTAUisCOMPLEXarray, dimension(min(M,N)). The scalar factors of the elementary reflectors (see Further Details).WORKβWORKisCOMPLEXarray, dimension(N).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.
π₯ 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. β bestie it's literally right there π
π dgeqr2 β the double-precision real one π
subroutine dgeqr2 (integer m, integer n, double precision, dimension( lda, *
) a, integer lda, double precision, dimension( * ) tau, double
precision, dimension( * ) work, integer info)
DGEQR2 computes the QR factorization of a general rectangular matrix using an unblocked algorithm. same energy, double the precision πβ¨
π Purpose
DGEQR2 computes a QR factorization of a real 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.
πΈ Parameters
MβMisINTEGER. The number of rows of the matrix A.M >= 0. πNβNisINTEGER. The number of columns of the matrix A.N >= 0. πAβAisDOUBLE PRECISIONarray, dimension(LDA,N). On entry, the m by n matrix A. On exit, the elements on and above the diagonal of the array contain themin(m,n)by n upper trapezoidal matrix R (R is upper triangular ifm >= n); the elements below the diagonal, with the arrayTAU, represent the orthogonal matrix Q as a product of elementary reflectors (see Further Details). πLDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,M). π¨TAUβTAUisDOUBLE PRECISIONarray, dimension(min(M,N)). The scalar factors of the elementary reflectors (see Further Details).WORKβWORKisDOUBLE PRECISIONarray, dimension(N).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.
π₯ 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**T
where tau is a real scalar, and v is a real 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 dgeqr2.f. β iconic π
π sgeqr2 β the single-precision real one π
subroutine sgeqr2 (integer m, integer n, real, dimension( lda, * ) a,
integer lda, real, dimension( * ) tau, real, dimension( * ) work,
integer info)
SGEQR2 computes the QR factorization of a general rectangular matrix using an unblocked algorithm. yes it's the same sentence again, she's consistent, we stan π
π Purpose
SGEQR2 computes a QR factorization of a real 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.
πΈ Parameters
MβMisINTEGER. The number of rows of the matrix A.M >= 0. πNβNisINTEGER. The number of columns of the matrix A.N >= 0. πAβAisREALarray, dimension(LDA,N). On entry, the m by n matrix A. On exit, the elements on and above the diagonal of the array contain themin(m,n)by n upper trapezoidal matrix R (R is upper triangular ifm >= n); the elements below the diagonal, with the arrayTAU, represent the orthogonal matrix Q as a product of elementary reflectors (see Further Details). πLDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,M). π¨TAUβTAUisREALarray, dimension(min(M,N)). The scalar factors of the elementary reflectors (see Further Details).WORKβWORKisREALarray, dimension(N).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.
π₯ 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**T
where tau is a real scalar, and v is a real 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 sgeqr2.f. β periodt π
π zgeqr2 β the complex*16 one, the main character π
subroutine zgeqr2 (integer m, integer n, complex*16, dimension( lda, * ) a,
integer lda, complex*16, dimension( * ) tau, complex*16, dimension( * )
work, integer info)
ZGEQR2 computes the QR factorization of a general rectangular matrix using an unblocked algorithm. she's giving double-complex, she's giving range, she ATE π₯
π Purpose
ZGEQR2 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.
πΈ Parameters
MβMisINTEGER. The number of rows of the matrix A.M >= 0. πNβNisINTEGER. The number of columns of the matrix A.N >= 0. πAβAisCOMPLEX*16array, dimension(LDA,N). On entry, the m by n matrix A. On exit, the elements on and above the diagonal of the array contain themin(m,n)by n upper trapezoidal matrix R (R is upper triangular ifm >= n); the elements below the diagonal, with the arrayTAU, represent the unitary matrix Q as a product of elementary reflectors (see Further Details). πLDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,M). π¨TAUβTAUisCOMPLEX*16array, dimension(min(M,N)). The scalar factors of the elementary reflectors (see Further Details).WORKβWORKisCOMPLEX*16array, dimension(N).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.
π₯ 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 zgeqr2.f. β and that's the last one, we did it bestie π₯Ήπ
π«Ά Author (the meta one)
Generated automatically by Doxygen for LAPACK from the source code. π€β¨ (yes, the docs have their own author line, it's very "credit where credit is due")
and that's the whole page, bestie π you officially know all four flavors of geqr2 β every parameter, every constraint, every reflector, every tau. go forth and factorize responsibly πΈπ
this cutie little page is from LAPACK, Version 3.12.0, dated geqr2(3) β mwah, thanks for reading, love u, bye ππ
π¦ 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