/home/abui.../zgemqrt.f(3)
π NAME π
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zgemqrt.f β bestie, that's the whole name, it's literally just the source file path and we're rolling with it β¨
π SYNOPSIS π
Functions/Subroutines
subroutine ZGEMQRT (side, trans, m, n, k, nb, v, ldv, t, ldt, c, ldc,
work, info)
ZGEMQRT β that's her, that's the icon π
πΈ Function/Subroutine Documentation πΈ
subroutine ZGEMQRT (character side, character trans, integer m, integer n,
integer k, integer nb, complex*16, dimension( ldv, * ) v, integer ldv,
complex*16, dimension( ldt, * ) t, integer ldt, complex*16, dimension(
ldc, * ) c, integer ldc, complex*16, dimension( * ) work, integer info)
β¨ Purpose β¨
okay so here's the tea π« β ZGEMQRT overwrites the general complex M-by-N matrix C with:
SIDE = 'L' SIDE = 'R'
TRANS = 'N': Q C C Q
TRANS = 'C': Q**H C C Q**H
where Q is a complex orthogonal matrix defined as the product of K elementary reflectors:
Q = H(1) H(2) . . . H(K) = I - V T V**H
generated using the compact WY representation as returned by ZGEQRT. no cap, that's the whole vibe π
Q is of order M if SIDE = 'L' and of order N if SIDE = 'R'. periodt.
π¦ Parameters π¦
SIDEβ it's aCHARACTER*1, bestie.= 'L': applyQorQ**Hfrom the Left;= 'R': applyQorQ**Hfrom the Right. Left or right, she does both πTRANSβ also aCHARACTER*1.= 'N': No transpose, applyQ;= 'C': Conjugate transpose, applyQ**H. pick your fighter π₯Mβ INTEGER, the number of rows of the matrixC.M >= 0. rows girlie πNβ INTEGER, the number of columns of the matrixC.N >= 0. columns girlie πΈKβ INTEGER, the number of elementary reflectors whose product defines the matrixQ. IfSIDE = 'L',M >= K >= 0; ifSIDE = 'R',N >= K >= 0. the reflector count, iykyk π₯NBβ INTEGER, the block size used for the storage ofT.K >= NB >= 1. π¨ and listen β this must be the same value ofNBused to generateTinZGEQRT. don't be out here mixing numbers, fr fr πVβCOMPLEX*16array, dimension(LDV,K). The i-th column must contain the vector which defines the elementary reflectorH(i), fori = 1,2,...,k, as returned byZGEQRTin the firstKcolumns of its array argumentA. the vectors live here πLDVβ INTEGER, the leading dimension of the arrayV. IfSIDE = 'L',LDA >= max(1,M); ifSIDE = 'R',LDA >= max(1,N). βTβCOMPLEX*16array, dimension(LDT,K). The upper triangular factors of the block reflectors as returned byZGEQRT, stored as aNB-by-Nmatrix. the triangular factor storage situation πLDTβ INTEGER, the leading dimension of the arrayT.LDT >= NB. π§CβCOMPLEX*16array, dimension(LDC,N). On entry, the M-by-N matrixC. On exit,Cis overwritten byQ C,Q**H C,C Q**HorC Q. she gets fully replaced, no survivors π (jk, it's fine, that's just the job)LDCβ INTEGER, the leading dimension of the arrayC.LDC >= max(1,M). πWORKβCOMPLEX*16array. The dimension ofWORKisN*NBifSIDE = 'L', orM*NBifSIDE = 'R'. size her correctly please πINFOβ INTEGER.= 0: successful exit π β< 0: ifINFO = -i, the i-th argument had an illegal value. caught in 4k, argument numberisaid something wrong π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 166 of file zgemqrt.f. π
π§ Author π§
Generated automatically by Doxygen for LAPACK from the source code. (yes the robot wrote the docs about the docs, iconic behaviour honestly π€β¨)
and that's the whole page bestie β LAPACK, Version 3.12.0, from the file /home/abui.../zgemqrt.f(3) π
π«Ά go forth and multiply your reflectors responsibly, mwah π
π¦ 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