SRC/zgemqrt.f(3)
okay so this is the SRC/zgemqrt.f(3) page from the Library Functions Manual, and itβs lowkey all about the ZGEMQRT subroutine β letβs go, bestie π
β¨
πΈ NAME πΈ
SRC/zgemqrt.f β the name on the page, periodt. Itβs the manual entry for ZGEMQRT, and the whole vibe is LAPACK source-code realness π«Ά
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine zgemqrt (side, trans, m, n, k, nb, v, ldv, t, ldt, c, ldc,
work, info)
ZGEMQRT
This is the exact subroutine call and its label β no cap, thatβs the whole synopsis π
β¨ Function/Subroutine Documentation β¨
zgemqrt
Hereβs the full signature, copied character for character because we do not play with code π :
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)
ZGEMQRT β yes, thatβs the routineβs name, and itβs the main character of this page π
Purpose
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.
Q is of order M if SIDE = 'L' and of order N if SIDE = 'R' π
Parameters
SIDEβSIDE is CHARACTER*1.'L': apply Q or QH from the Left;'R': apply Q or QH from the Right. Pick your side, bestie π«TRANSβTRANS is CHARACTER*1.'N': No transpose, apply Q;'C': Conjugate transpose, apply Q**H. The vibe check is: transpose or conjugate-transpose π¦MβM is INTEGER. The number of rows of the matrix C.M >= 0.NβN is INTEGER. The number of columns of the matrix C.N >= 0.KβK is INTEGER. The number of elementary reflectors whose product defines the matrix Q. IfSIDE = 'L',M >= K >= 0; ifSIDE = 'R',N >= K >= 0.NBβNB is INTEGER. The block size used for the storage of T.K >= NB >= 1. This must be the same value of NB used to generate T inZGEQRT. No swapping it out, okay? πVβV is COMPLEX*16 array, dimension (LDV,K). The i-th column must contain the vector which defines the elementary reflector H(i), fori = 1,2,...,k, as returned byZGEQRTin the first K columns of its array argument A.LDVβLDV is INTEGER. The leading dimension of the array V. IfSIDE = 'L',LDA >= max(1,M); ifSIDE = 'R',LDA >= max(1,N).TβT is COMPLEX*16 array, dimension (LDT,K). The upper triangular factors of the block reflectors as returned byZGEQRT, stored as a NB-by-N matrix.LDTβLDT is INTEGER. The leading dimension of the array T.LDT >= NB.CβC is COMPLEX*16 array, dimension (LDC,N). On entry, the M-by-N matrix C. On exit, C is overwritten byQ C,Q**H C,C Q**HorC Q.LDCβLDC is INTEGER. The leading dimension of the array C.LDC >= max(1,M).WORKβWORK is COMPLEX*16 array. The dimension of WORK isN*NBifSIDE = 'L', orM*NBifSIDE = 'R'.INFOβINFO is INTEGER.= 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.
Definition at line 166 of file zgemqrt.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
Thatβs the whole thing, bestie β LAPACK Version 3.12.0, file SRC/zgemqrt.f(3) πΈπβ¨
π¦ 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