SRC/cgelqt3.f(3)
πΈ SRC/cgelqt3.f πΈ
okay bestie, welcome to the Library Functions Manual page for SRC/cgelqt3.f β this one is giving recursive LQ factorization energy and it's honestly kinda iconic. π
β¨
π NAME π
SRC/cgelqt3.f
β¨ SYNOPSIS β¨
Functions/Subroutines
recursive subroutine cgelqt3 (m, n, a, lda, t, ldt, info)
CGELQT3
π¦ Function/Subroutine Documentation π¦
recursive subroutine cgelqt3 (integer m, integer n, complex, dimension( lda,
* ) a, integer lda, complex, dimension( ldt, * ) t, integer ldt, integer
info)
CGELQT3 β that's the whole mood, no cap. π«
π― Purpose π―
CGELQT3 recursively computes a LQ factorization of a complex M-by-N matrix A, using the compact WY representation of Q.
It's based on the algorithm of Elmroth and Gustavson, IBM J. Res. Develop. Vol 44 No. 4 July 2000.
π§ Parameters π§
MβM is INTEGER. The number of rows of the matrixA. Constraint:M =< N. (Yes, exactly like that, bestie. π«Ά)NβN is INTEGER. The number of columns of the matrixA. Constraint:N >= 0.AβA is COMPLEX array, dimension (LDA,N). On entry, the complex M-by-N matrixA. On exit, the elements on and below the diagonal contain the N-by-N lower triangular matrixL; the elements above the diagonal are the rows ofV. See below for further details. β¨LDAβLDA is INTEGER. The leading dimension of the arrayA. Constraint: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 reflectorT; the elements below the diagonal are not used. See below for further details. πLDTβLDT is INTEGER. The leading dimension of the arrayT. Constraint:LDT >= max(1,N).INFOβINFO is INTEGER.= 0: successful exit.< 0: if INFO = -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 V stores the elementary reflectors H(i) in the i-th row above the diagonal. For example, if M=5 and N=3, the matrix V is:
V = ( 1 v1 v1 v1 v1 )
( 1 v2 v2 v2 )
( 1 v3 v3 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**T
where V**T is the transpose of V.
For details of the algorithm, see Elmroth and Gustavson (cited above). π
Definition at line 115 of file cgelqt3.f.
π Author (generated) π
Generated automatically by Doxygen for LAPACK from the source code. π€
okay that's the whole page, bestie β footer details are LAPACK Version 3.12.0 and SRC/cgelqt3.f(3) (no date listed, so no invented date, periodt π). π«Άβ¨
π¦ 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