/home/abui.../cgeqrt3.f(3)
π NAME π
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cgeqrt3.f
okay so bestie, that's the whole file path, like, the entire government name of this thing π (and yes, this page lives in the Library Functions Manual, iykyk)
β¨ SYNOPSIS β¨
Functions/Subroutines
recursive subroutine CGEQRT3 (m, n, a, lda, t, ldt, info)
so CGEQRT3 recursively computes a QR factorization of a general real or complex matrix using the compact WY representation of Q. that's the whole vibe. π
π¦ Function/Subroutine Documentation π¦
recursive subroutine CGEQRT3 (integer m, integer n, complex, dimension( lda, * ) a, integer lda, complex, dimension( ldt, * ) t, integer ldt, integer info)
CGEQRT3 recursively computes a QR factorization of a general real or complex matrix using the compact WY representation of Q. periodt. β¨
πΈ Purpose:
!>
!> CGEQRT3 recursively computes a QR factorization of a complex M-by-N matrix A,
!> using the compact WY representation of Q.
!>
!> Based on the algorithm of Elmroth and Gustavson,
!> IBM J. Res. Develop. Vol 44 No. 4 July 2000.
!>
no cap, that's literally the purpose, and it's built on the algorithm of Elmroth and Gustavson, IBM J. Res. Develop. Vol 44 No. 4 July 2000. iconic lineage fr fr π
π Parameters π
M
!> M is INTEGER
!> The number of rows of the matrix A. M >= N.
!>
so M is INTEGER, it's how many rows A has, and the rule is M >= N. don't break it π
N
!> N is INTEGER
!> The number of columns of the matrix A. N >= 0.
!>
N is INTEGER too, it's the column count of A, and N >= 0. zero is allowed bestie, negative is not π
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.
!>
A is a COMPLEX array of dimension (LDA,N). on entry it's the complex M-by-N matrix A. on exit β plot twist β the elements on and above the diagonal hold the N-by-N upper triangular matrix R, and the elements below the diagonal are the columns of V. see below for further details, she's got lore π
LDA
!> LDA is INTEGER
!> The leading dimension of the array A. LDA >= max(1,M).
!>
the leading dimension of A. and LDA >= max(1,M) β respect the leading dimension or perish π«Ά
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.
!>
T is a COMPLEX array with dimension (LDT,N), and it's the N-by-N upper triangular factor of the block reflector. the on-and-above-diagonal elements contain the block reflector T; the below-diagonal elements are simply not used β they're just there, vibing, unemployed π
LDT
!> LDT is INTEGER
!> The leading dimension of the array T. LDT >= max(1,N).
!>
leading dimension of T, and it's LDT >= max(1,N), no exceptions β¨
INFO
!> INFO is INTEGER
!> = 0: successful exit
!> < 0: if INFO = -i, the i-th argument had an illegal value
!>
the status report bestie:
= 0β successful exit, we ate π< 0β ifINFO = -i, the i-th argument had an illegal value. something was wrong and she's telling you exactly which one π
π Author π
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
four whole institutions, they all showed up π
π 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.
!>
!> For details of the algorithm, see Elmroth and Gustavson (cited above).
!>
okay so let me break this down because it's giving main character math π§
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 (they're implied, she's lowkey shy). the block reflector H is then given by:
H = I - V * T * V**H
where V**H is the conjugate transpose of V. and for details of the algorithm, see Elmroth and Gustavson (cited above) β go read the source, bestie, it's all cited π
Definition at line 131 of file cgeqrt3.f.
β Author β
Generated automatically by Doxygen for LAPACK from the source code. (yes the robot wrote this part, we respect the robot π€π)
LAPACK β Version 3.12.0 π¦
mwah, that's the whole page, you're so welcome, go factor some QR πβ¨π
π¦ 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