DLARFX(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’… NAME

ok so bestie, this page is literally about dlarfx.f β€” the DLARFX page, part of the LAPACK manual (the Library Functions Manual vibe, yk), straight out of the build tree at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dlarfx.f. iconic path fr.


✨ SYNOPSIS ✨

πŸŽ€ Functions/Subroutines

subroutine DLARFX (side, m, n, v, tau, c, ldc, work)
    DLARFX applies an elementary reflector to a general rectangular
    matrix, with loop unrolling when the reflector has order ≀ 10.

🫢 Function/Subroutine Documentation 🫢

subroutine DLARFX (character side, integer m, integer n, double precision,
    dimension( * ) v, double precision tau, double precision, dimension(
    ldc, * ) c, integer ldc, double precision, dimension( * ) work)

OK so what does it do? DLARFX applies an elementary reflector to a general rectangular matrix, and β€” this is the cute part β€” it does loop unrolling when the reflector has order ≀ 10. speed queen behavior honestly πŸ‘‘

🌸 Purpose

!>
!> DLARFX 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
!>
!> This version uses inline code if H has order < 11.
!>

so like. H = I - tau * v * v**T, where tau is a real scalar and v is a real vector. if tau = 0 then H is just the unit matrix, no thoughts head empty πŸ’€ and this version uses inline code if H has order < 11 (yes that's the same flex as the ≀ 10 thing, they're besties, don't @ me).

πŸŽ€ Parameters πŸŽ€

  • SIDE β€” SIDE is CHARACTER*1, and it picks your whole destiny: = 'L' means form H * C, = 'R' means form C * H. choose wisely bestie πŸ¦‹
  • M β€” M is INTEGER, and it's the number of rows of the matrix C. row count, main character energy.
  • N β€” N is INTEGER, the number of columns of the matrix C. slay, two dimensions, we love to see it.
  • V β€” V is DOUBLE PRECISION array, dimension (M) if SIDE = 'L' or (N) if SIDE = 'R'. this is the vector v in the representation of H. the little v that could πŸ’œ
  • TAU β€” TAU is DOUBLE PRECISION, and it's the value tau in the representation of H. the scalar!! the moment!! 🌟
  • C β€” C is 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 gasping β€” it MUTATES. your C is gone, replaced by its glow-up 😭✨
  • LDC β€” LDC is INTEGER, the leading dimension of the array C. and ngl, LDC >= (1,M). that's a requirement, not a suggestion πŸ‘€
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (N) if SIDE = 'L' or (M) if SIDE = 'R'. heads up though: WORK is not referenced if H has order < 11. it's just sitting there, being a vibe, unused πŸͺ‘πŸ’€

πŸ‘‘ Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

the academic girlies behind the math πŸŽ“πŸ’–

Definition at line 119 of file dlarfx.f.

⭐ Author

Generated automatically by Doxygen for LAPACK from the source code. (the robots did the paperwork, we just vibe πŸ€–)


🌸 that's the whole page bestie β€” LAPACK, Version 3.12.0, from /home/abui...RC/dlarfx.f(3), and honestly? you ate. go forth and reflect (elementary-ly). πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from