/home/abui.../zgeqr2p.f(3)
π NAME π
ok so bestie, this whole page is about one file: /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zgeqr2p.f β that's it, that's the name, she's an absolute icon of a path and i'm lowkey obsessed with how long it is π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine ZGEQR2P (m, n, a, lda, tau, work, info)β ZGEQR2P computes the QR factorization of a general rectangular matrix with non-negative diagonal elements using an unblocked algorithm.
πΈ Function/Subroutine Documentation πΈ
subroutine ZGEQR2P (integer m, integer n, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( * ) tau, complex*16, dimension( * ) work, integer info)
ZGEQR2P computes the QR factorization of a general rectangular matrix with non-negative diagonal elements using an unblocked algorithm. no cap, that's the whole vibe π
Purpose:
!>
!> ZGEQR2P 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 with nonnegative diagonal
!> entries;
!> 0 is a (m-n)-by-n zero matrix, if m > n.
!>
!>
like literally she factors A into Q times that stacked R-over-0 situation π¦
π Parameters
M
!> M is INTEGER
!> The number of rows of the matrix A. M >= 0.
!>
the row count bestie. M >= 0, we don't do negative rows here π
N
!> N is INTEGER
!> The number of columns of the matrix A. N >= 0.
!>
the column count. also N >= 0. rules are rules β¨
A
!> A is COMPLEX*16 array, dimension (LDA,N)
!> On entry, the m by n matrix A.
!> On exit, the elements on and above the diagonal of the array
!> contain the min(m,n) by n upper trapezoidal matrix R (R is
!> upper triangular if m >= n). The diagonal entries of R
!> are real and nonnegative; the elements below the diagonal,
!> with the array TAU, represent the unitary matrix Q as a
!> product of elementary reflectors (see Further Details).
!>
ok so she goes in as your plain m-by-n matrix A and comes out completely transformed π on exit, everything on and above the diagonal holds the min(m,n) by n upper trapezoidal matrix R β and R is upper triangular if m >= n β with diagonal entries that are real and nonnegative. meanwhile the stuff below the diagonal teams up with TAU to represent the unitary matrix Q as a product of elementary reflectors (peep Further Details for the tea) π₯
LDA
!> LDA is INTEGER
!> The leading dimension of the array A. LDA >= max(1,M).
!>
leading dimension of A, and it must satisfy LDA >= max(1,M) β the way that max(1,M) is doing the absolute most for the M = 0 case, we stan a defensive queen π
TAU
!> TAU is COMPLEX*16 array, dimension (min(M,N))
!> The scalar factors of the elementary reflectors (see Further
!> Details).
!>
dim min(M,N) and she's holding the scalar factors of the elementary reflectors π
WORK
!> WORK is COMPLEX*16 array, dimension (N)
!>
scratch space, dim (N), she's just here to help π«Ά
INFO
!> INFO is INTEGER
!> = 0: successful exit
!> < 0: if INFO = -i, the i-th argument had an illegal value
!>
the vibe check π
= 0 means successful exit (slay), and < 0 means if INFO = -i, the i-th argument had an illegal value β so like, go check argument number i, bestie, that's the one that fumbled π
π 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).
!>
!> See Lapack Working Note 203 for details
!>
ok so this is the part where it gets cute β Q is a whole product of elementary reflectors, Q = H(1) H(2) . . . H(k) where k = min(m,n), and every H(i) is I - tau * v * v**H. the tau is a complex scalar, v is a complex vector with v(1:i-1) = 0 and v(i) = 1, and on exit v(i+1:m) is chilling in A(i+1:m,i) while tau is chilling in TAU(i). and if you want the full lore, See Lapack Working Note 203 for details π
Definition at line 133 of file zgeqr2p.f.
β Author β
Generated automatically by Doxygen for LAPACK from the source code. (the robots did this one, not me, don't come for me π)
ok bye bestie, this was LAPACK Version 3.12.0 and the whole thing lives at /home/abui.../zgeqr2p.f(3) β go forth and factor your QR, you're gonna ate π
β¨
π¦ 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