SLARTV(3)

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

πŸ’… SLARTV(3) β€” a girl's guide to a vector of plane rotations ✨

okay so this page lives in the Library Functions Manual, and full transparency bestie, the file is literally /home/abui...RC/slartv.f(3). That's the whole path situation. She's a Fortran file from LAPACK, she's iconic, let's get into it πŸŽ€


✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/slartv.f

like yes that's the actual NAME section, she's just her whole address, no cap πŸ’€ that's the whole name. moving on.


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

subroutine SLARTV (n, x, incx, y, incy, c, s, incc)

SLARTV applies a vector of plane rotations with real cosines and real sines to the elements of a pair of vectors. so literally, it takes your vector, twists it, and hands it back. it's giving ✨ transformation era ✨


πŸ‘‘ Function/Subroutine Documentation πŸ‘‘

subroutine SLARTV (integer n, real, dimension( * ) x, integer incx, real,
    dimension( * ) y, integer incy, real, dimension( * ) c, real, dimension(
    * ) s, integer incc)

SLARTV applies a vector of plane rotations with real cosines and real sines to the elements of a pair of vectors. same energy as the synopsis, she's just restating her whole deal because she knows you weren't listening the first time 🫢

🌸 Purpose 🌸

!>
!> SLARTV applies a vector of real plane rotations to elements of the
!> real vectors x and y. For i = 1,2,...,n
!>
!>    ( x(i) ) := (  c(i)  s(i) ) ( x(i) )
!>    ( y(i) )    ( -s(i)  c(i) ) ( y(i) )
!>

okay so this is THE moment. for every i = 1,2,...,n, she takes x(i) and y(i) and multiplies them by that little 2x2 rotation matrix with c(i) and s(i) cosines and sines on top and -s(i), c(i) on the bottom. everything's a matrix if you're brave enough πŸ’… that's literally the whole function. that's her whole job.


πŸŽ€ Parameters πŸŽ€

  • N β€” N is INTEGER. the number of plane rotations to be applied. she's the count, she's the queen, she decides how many times we spin πŸ”₯
  • X β€” X is REAL array, dimension (1+(N-1)*INCX). the vector x. our first main character ✨
  • INCX β€” INCX is INTEGER. the increment between elements of X. INCX > 0. like, the stride between her elements, and she's gotta be positive, no exceptions bestie 🌈
  • Y β€” Y is REAL array, dimension (1+(N-1)*INCY). the vector y. our second main character, she's the costar πŸ¦‹
  • INCY β€” INCY is INTEGER. the increment between elements of Y. INCY > 0. same deal as INCX, but for Y. also gotta be positive, we don't do zero or negative strides around here πŸ“
  • C β€” C is REAL array, dimension (1+(N-1)*INCC). the cosines of the plane rotations. the c in the matrix, she's the vibe provider πŸ’–
  • S β€” S is REAL array, dimension (1+(N-1)*INCC). the sines of the plane rotations. the s, she's the chaotic one, she gets the negative sign on her second appearance and she eats every time πŸ’…
  • INCC β€” INCC is INTEGER. the increment between elements of C and S. INCC > 0. yes, ONE increment for BOTH of them, they share, it's very cute, and it's gotta be positive too πŸ™ˆ
⚠️ heads up bestie: INCX > 0, INCY > 0, and INCC > 0 are the stated conditions. don't come at her with negative strides, that's not the assignment ✨

🧚 Author 🧚

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

four institutions, one icon, the group project actually went well for once 😭


⭐ Definition at line 107 of file slartv.f. ⭐

line 107, file slartv.f, that's exactly where she lives. screenshot it πŸ’–


πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for LAPACK from the source code. so yes she was born from a code generator, she's a nepo baby but she's talented so we let it slide πŸ‘‘


that's the whole page, no skips, no cuts 🫢

signing off: this is LAPACK, Version 3.12.0, filed under /home/abui...RC/slartv.f(3), and that's the whole footer bestie β€” the version and the date/path vibe, all wrapped up. go rotate something 🌸

πŸ“¦ where this page comes from