SRC/dlarf.f(3)
π SRC/dlarf.f π
okay bestie, welcome to the Library Functions Manual page for SRC/dlarf.f. this is the dlarf entry, and it's literally about applying a real elementary reflector to a real general rectangular matrix. it's giving linear algebra main character energy, no cap. highkey obsessed. π«Άβ¨
β¨ NAME β¨
SRC/dlarf.f
short, iconic, to the point. periodt. π
πΈ SYNOPSIS πΈ
π§ Functions/Subroutines π§
subroutine dlarf (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)
dlarfβ DLARF applies an elementary reflector to a general rectangular matrix. π«
π Function/Subroutine Documentation π
π¦ subroutine dlarf π¦
subroutine dlarf (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)
DLARF applies an elementary reflector to a general rectangular matrix. yes bestie, that's the whole gig. π«‘
Purpose
okay so the real tea: DLARF applies a real elementary reflector H to a real m by n matrix C, from either the left or the right. H is represented in the form
H = I - tau * v * v**T
where tau is a real scalar and v is a real vector. π§
if tau = 0, then H is taken to be the unit matrix. iconic behavior, honestly. π
Parameters
SIDEβSIDEisCHARACTER*1.= 'L': formH * C;= 'R': formC * H. choose your fighter, bestie. πMβMisINTEGER. it tells you how many rowsChas. rows era. πNβNisINTEGER. it tells you how many columnsChas. columns said "me too". πVβVis aDOUBLE PRECISIONarray, dimension(1 + (M-1)*abs(INCV))ifSIDE = 'L'or(1 + (N-1)*abs(INCV))ifSIDE = 'R'. this is the vectorvin the representation ofH.Vis not used ifTAU = 0. πINCVβINCVisINTEGER. the increment between elements ofv.INCV <> 0. bestie, that's a hard requirement, not a suggestion. π¨TAUβTAUisDOUBLE PRECISION. the valuetauin the representation ofH. π«CβCis aDOUBLE PRECISIONarray, dimension(LDC,N). on entry, it's thembynmatrixC. on exit,Cis overwritten by the matrixH * CifSIDE = 'L', orC * HifSIDE = 'R'. not me getting overwritten mid-page πLDCβLDCisINTEGER. the leading dimension of the arrayC.LDC >= max(1,M). another vibe check, another requirement. πWORKβWORKis aDOUBLE PRECISIONarray, dimension(N)ifSIDE = 'L'or(M)ifSIDE = 'R'. it's giving workspace realness. π οΈ
lowkey important:INCV <> 0andLDC >= max(1,M)are constraints, bestie β don't skip them. and yes,Cgets overwritten on exit. no cap. π
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
those are the author credits, and they ate. π«Ά
Definition at line 123 of file dlarf.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code. (yes, that's the actual line, bestie.) π§
okay that's the whole page, fr fr! π this footer is giving LAPACK Version 3.12.0 + SRC/dlarf.f(3) β date? not printed in this footer, so I'm not inventing one, iykyk. slay, bestie, periodt. πβ¨
π¦ 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