SRC/cgeqrt2.f(3)
β¨ SRC/cgeqrt2.f β¨
okay bestie, buckle up β this one is from the LAPACK manual, section 3, and it's honestly kind of iconic π
πΈ NAME πΈ
SRC/cgeqrt2.f β that's literally it, that's the name, no notes π
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine cgeqrt2 (m, n, a, lda, t, ldt, info)β CGEQRT2 computes a QR factorization of a general real or complex matrix using the compact WY representation of Q.
π Function/Subroutine Documentation π
subroutine cgeqrt2 (integer m, integer n, complex, dimension( lda, * ) a, integer lda, complex, dimension( ldt, * ) t, integer ldt, integer info)
CGEQRT2 computes a QR factorization of a general real or complex matrix using the compact WY representation of Q. slay π«Ά
π Purpose:
!>
!> CGEQRT2 computes a QR factorization of a complex M-by-N matrix A,
!> using the compact WY representation of Q.
!>
π Parameters
M
!> M is INTEGER
!> The number of rows of the matrix A. M >= N.
!>
N
!> N is INTEGER
!> The number of columns of the matrix A. N >= 0.
!>
A
!> A is COMPLEX array, dimension (LDA,N)
!> On entry, the complex M-by-N matrix A. On exit, the elements on and
!> above the diagonal contain the N-by-N upper triangular matrix R; the
!> elements below the diagonal are the columns of V. See below for
!> further details.
!>
LDA
!> LDA is INTEGER
!> The leading dimension of the array A. LDA >= max(1,M).
!>
T
!> T is COMPLEX array, dimension (LDT,N)
!> The N-by-N upper triangular factor of the block reflector.
!> The elements on and above the diagonal contain the block
!> reflector T; the elements below the diagonal are not used.
!> See below for further details.
!>
LDT
!> LDT is INTEGER
!> The leading dimension of the array T. LDT >= max(1,N).
!>
INFO
!> INFO is INTEGER
!> = 0: successful exit
!> < 0: if INFO = -i, the i-th argument had an illegal value
!>
lowkey important:INFOnever lies.= 0means you ate and left no crumbs,< 0means argument number i showed up with an illegal value and got read for filth π
π§ Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
β the whole squad, fr fr π
β Further Details:
!>
!> The matrix V stores the elementary reflectors H(i) in the i-th column
!> below the diagonal. For example, if M=5 and N=3, the matrix V is
!>
!> V = ( 1 )
!> ( v1 1 )
!> ( v1 v2 1 )
!> ( v1 v2 v3 )
!> ( v1 v2 v3 )
!>
!> where the vi's represent the vectors which define H(i), which are returned
!> in the matrix A. The 1's along the diagonal of V are not stored in A. The
!> block reflector H is then given by
!>
!> H = I - V * T * V**H
!>
!> where V**H is the conjugate transpose of V.
!>
okay so picture this: V is giving lower-triangular-but-make-it-fashion, the vi vectors live under the diagonal and they're the ones that define H(i), and they get handed back to you inside A π meanwhile those 1's along the diagonal of V? not stored in A, they're just vibes β¨ and the block reflector H is, literally,
H = I - V * T * V**H
where V**H is the conjugate transpose of V. conjugate transpose is main character energy, no cap π
Definition at line 126 of file cgeqrt2.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code.
and that's the whole page bestie, every single detail accounted for, nothing skipped, we ate and left zero crumbs π β¨
okay bye, this was LAPACK Version 3.12.0, generated by Doxygen for LAPACK straight from the source code β mwah π π¦ππΈ
π¦ 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