SRC/dlarf1f.f(3)
π NAME π
Okay so bestie, this page is from the Library Functions Manual and it is literally all about SRC/dlarf1f.f. That's the file, that's the main character, that's the whole assignment. π
β¨ SYNOPSIS β¨
π§Έ Functions/Subroutines
subroutine dlarf1f (side, m, n, v, incv, tau, c, ldc, work)β DLARF1F applies an elementary reflector to a general rectangular. Periodt. π¦
π₯ Function/Subroutine Documentation π₯
πΈ subroutine dlarf1f (character side, integer m, integer n, double precision, dimension( * ) v, integer incv, double precision tau, double precision, dimension( ldc, * ) c, integer ldc, double precision, dimension( * ) work)
DLARF1F applies an elementary reflector to a general rectangular. I know, iconic. π
subroutine dlarf1f (character side, integer m, integer n, double precision, dimension( * ) v, integer incv, double precision tau, double precision, dimension( ldc, * ) c, integer ldc, double precision, dimension( * ) work)
π«§ Purpose
Bestie, here's the whole point: DLARF1F applies a real elementary reflector H to a real m by n matrix C, from either the left or the right. No cap. π
H is represented in the form
H = I - tau * v * v**T
where tau is a real scalar and v is a real vector. Cute little formula, honestly. π
Iftau = 0, thenHis taken to be the unit matrix. So ifTAUis zero, the reflector is giving very "I am the identity matrix, actually" energy. β¨
π Parameters
SIDEβSIDEisCHARACTER*1.= 'L': formH * C= 'R': formC * H
So it's literally choosing which side gets the reflector treatment. π«Ά
MβMisINTEGER. The number of rows of the matrixC. Rows, bestie. Rows. πNβNisINTEGER. The number of columns of the matrixC. Columns, obviously. πΈVβVis aDOUBLE PRECISIONarray, dimension:(1 + (M-1)*abs(INCV))ifSIDE = 'L'- or
(1 + (N-1)*abs(INCV))ifSIDE = 'R'
This is the vector v in the representation of H. V is not used if TAU = 0. And okay, important detail: V(1) is not referenced or modified. Not referenced, not modified, not touched, periodt. π
INCVβINCVisINTEGER. The increment between elements ofv.INCV <> 0. Do not set it to zero, babe. πTAUβTAUisDOUBLE PRECISION. The valuetauin the representation ofH. It's out here being a real scalar and a whole vibe. βCβCis aDOUBLE PRECISIONarray, dimension(LDC,N).- On entry: the
mbynmatrixC. - On exit:
Cis overwritten by the matrixH * CifSIDE = 'L', orC * HifSIDE = 'R'.
- On entry: the
So yeah, C goes in as C and comes out as the reflected version. Character development, honestly. π
LDCβLDCisINTEGER. The leading dimension of the arrayC. It must satisfyLDC >= max(1,M). Respect the leading dimension, bestie. π«ΆWORKβWORKis aDOUBLE PRECISIONarray, dimension:(N)ifSIDE = 'L'- or
(M)ifSIDE = 'R'
It's the workspace. It's doing background tasks. It's the assistant manager of this subroutine. π
π«Ά Author π«Ά
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 158 of file dlarf1f.f. Mark it, bestie. π
π§ Author π§
Generated automatically by Doxygen for LAPACK from the source code. So not a human author moment this time β it's giving automated documentation fairy. π¦
mwah π β this is LAPACK Version 3.12.0, and the page is SRC/dlarf1f.f(3). Bye bestie, go slay those elementary reflectors! πβ¨
π¦ 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