/home/abui...RC/dlarf.f(3)
π dlarf.f(3) β the manual, but make it make sense π¦
okay bestie, so this is the manual page for dlarf.f(3), and the actual file it documents lives at:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dlarf.f
yes that whole entire path, she's long, she's giving deeply nested build directory energy, and we respect her for it π
β¨ NAME β¨
the path above, bestie β that's the name section. it's literally just the file path. iconic minimalist behaviour, no notes π
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine DLARF (side, m, n, v, incv, tau, c, ldc, work)β DLARF applies an elementary reflector to a general rectangular matrix. that's her whole job description and she ate π
π Function/Subroutine Documentation π
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. no cap, that's the summary β¨
π Purpose:
!>
!> 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.
!>
so basically H is built out of an identity matrix minus tau times v times v**T, where tau is a real scalar and v is a real vector. and super important bestie: if tau = 0, H is just taken to be the unit matrix β like she's not even trying, and honestly? valid π
π Parameters
SIDEβSIDE is CHARACTER*1, and she decides which side we're applying from:= 'L': formH * C= 'R': formC * H
pick your side, bestie, there are exactly two π
MβM is INTEGER, aka the number of rows of the matrix C. count 'em π₯NβN is INTEGER, aka the number of columns of the matrix C. also count 'em π«ΆVβV is DOUBLE PRECISION array, 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. and heads up: V is not used if TAU = 0. she's off duty in that case π
INCVβINCV is INTEGER, the increment between elements of v. also:INCV <> 0. that is not a suggestion, bestie, it literally cannot be zero πTAUβTAU is DOUBLE PRECISION, the value tau in the representation of H. main character scalar βCβC is DOUBLE PRECISION array, dimension(LDC,N). on entry, the m by n matrix C. on exit, C is overwritten by the matrixH * CifSIDE = 'L', orC * HifSIDE = 'R'. she gets transformed in place, no copy, we love efficiency πLDCβLDC is INTEGER, the leading dimension of the array C. requirement:LDC >= max(1,M). do not skip the vibe check on that one π¦WORKβWORK is DOUBLE PRECISION array, dimension:(N)ifSIDE = 'L'- or
(M)ifSIDE = 'R'
scratch space, but make it dimensionally correct β¨
π§ Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad contributed, periodt π
β Definition at line 123 of file dlarf.f.
that's where she's defined, in case you need to go look at the source and feel something πΈ
π Author
Generated automatically by Doxygen for LAPACK from the source code. not a human, just a documentation robot doing her little task π
and that's the page, bestie!! this was LAPACK, Version 3.12.0, with dlarf.f(3) right there in the manual header β go forth and apply those elementary reflectors responsibly π¦π
β¨
π¦ 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