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 β€” SIDE is CHARACTER*1. = 'L': form H * C; = 'R': form C * H. choose your fighter, bestie. 🌈
  • M β€” M is INTEGER. it tells you how many rows C has. rows era. πŸ“
  • N β€” N is INTEGER. it tells you how many columns C has. columns said "me too". πŸ“
  • V β€” V is a DOUBLE PRECISION array, dimension (1 + (M-1)*abs(INCV)) if SIDE = 'L' or (1 + (N-1)*abs(INCV)) if SIDE = 'R'. this is the vector v in the representation of H. V is not used if TAU = 0. πŸ“
  • INCV β€” INCV is INTEGER. the increment between elements of v. INCV <> 0. bestie, that's a hard requirement, not a suggestion. 🚨
  • TAU β€” TAU is DOUBLE PRECISION. the value tau in the representation of H. πŸ’«
  • C β€” C is a DOUBLE PRECISION array, dimension (LDC,N). on entry, it's the m by n matrix C. on exit, C is overwritten by the matrix H * C if SIDE = 'L', or C * H if SIDE = 'R'. not me getting overwritten mid-page 😭
  • LDC β€” LDC is INTEGER. the leading dimension of the array C. LDC >= max(1,M). another vibe check, another requirement. πŸ‘‘
  • WORK β€” WORK is a DOUBLE PRECISION array, dimension (N) if SIDE = 'L' or (M) if SIDE = 'R'. it's giving workspace realness. πŸ› οΈ
lowkey important: INCV <> 0 and LDC >= max(1,M) are constraints, bestie β€” don't skip them. and yes, C gets 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