ZGEQRF(3)
β¨ NAME β¨
okay so this is the page for /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zgeqrf.f β it lives in the Library Functions Manual bestie, and it's literally the home of ZGEQRF π
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine ZGEQRF (m, n, a, lda, tau, work, lwork, info)β ZGEQRF π
π Function/Subroutine Documentation π
subroutine ZGEQRF (integer m, integer n, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( * ) tau, complex*16, dimension( * ) work, integer lwork, integer info)
ZGEQRF π«Ά
Purpose:
!>
!> ZGEQRF 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.
!>
!>
so basically it takes your complex M-by-N matrix A and factorizes it into Q times that stacked (R over 0) situation β and yes, if M > N that bottom chunk is a big ol' zero block, no cap π
Parameters
MβMisINTEGER, aka the number of rows of the matrixA. And like,M >= 0. periods.NβNisINTEGER, the number of columns of the matrixA.N >= 0bestie.AβAisCOMPLEX*16array, dimension(LDA,N). On entry: it's the M-by-N matrixA. On exit: the elements on and above the diagonal hold themin(M,N)-by-N upper trapezoidal matrixR(andRis upper triangular ifm >= n); the elements below the diagonal, together with the arrayTAU, represent the unitary matrixQas a product ofmin(m,n)elementary reflectors (peep the Further Details section, iykyk).LDAβLDAisINTEGER, the leading dimension of the arrayA.LDA >= max(1,M). don't skip this one πTAUβTAUisCOMPLEX*16array, dimension(min(M,N)). It's the scalar factors of those elementary reflectors (again, Further Details is right there β¨).WORKβWORKisCOMPLEX*16array, dimension(MAX(1,LWORK)). On exit, ifINFO = 0, thenWORK(1)returns the optimalLWORK. cute right πLWORKβLWORKisINTEGER, the dimension of the arrayWORK.LWORK >= 1, ifMIN(M,N) = 0, andLWORK >= N, otherwise. For optimum performanceLWORK >= N*NB, whereNBis the optimal blocksize. slay π IfLWORK = -1, then a workspace query is assumed β the routine only calculates the optimal size of theWORKarray, returns this value as the first entry of theWORKarray, and no error message related toLWORKis issued byXERBLA. iconic behaviour fr fr.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).
!>
the way that v starts with a whole run of zeros and then a big fat 1 at position iβ¦ main character energy honestly π
Definition at line 145 of file zgeqrf.f π
π¦ Author π¦
Generated automatically by Doxygen for LAPACK from the source code. π€β¨
ngl bestie, this page was auto-cooked by Doxygen β no human wrote this prose, only the vibes π
mwah π that's the whole page β brought to you by LAPACK, Version 3.12.0, straight out of /home/abui...RC/zgeqrf.f(3) β see u in the next factorization, bestie π«Ά
π¦ 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