ZLARTV(3)

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

✨ NAME ✨

ok so bestie, this is the manual page for ZLARTV β€” and the actual "name" the docs give it is literally the whole path:

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

yep. that's the name. it's giving "my full government name is a file path" energy πŸ’… like ok go off zlartv.f we love a humble origin story πŸŽ€


🌸 SYNOPSIS 🌸

Functions/Subroutines

  • subroutine ZLARTV (n, x, incx, y, incy, c, s, incc) β€” bestie, this one applies a whole vector of plane rotations with real cosines and complex sines to the elements of a pair of vectors. it's iconic, it's efficient, it does the thing πŸ¦‹

πŸ’– Function/Subroutine Documentation πŸ’–

subroutine ZLARTV (integer n, complex*16, dimension( * ) x, integer incx,
    complex*16, dimension( * ) y, integer incy, double precision, dimension(
    * ) c, complex*16, dimension( * ) s, integer incc)

so what does ZLARTV do? (say it with me) β€” it applies a vector of plane rotations with real cosines and complex sines to the elements of a pair of vectors. lowkey the main character of this whole page πŸ”₯

🎯 Purpose:

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

ok the math is mathing ✨ that little matrix right there is the whole vibe β€” each (x(i), y(i)) pair gets rotated by the real cosine c(i) and the complex sine s(i). note the -conjg(s(i)), that conjugate is NOT optional, bestie, she's doing heavy lifting 🫢

🌈 Parameters

  • N
!>          N is INTEGER
!>          The number of plane rotations to be applied.

i.e. how many rotations we're serving today. n rotations, n slay πŸ’…

  • X
!>          X is COMPLEX*16 array, dimension (1+(N-1)*INCX)
!>          The vector x.

it's COMPLEX*16, it's dimension (1+(N-1)*INCX), and it's literally just the vector x. that's it. that's the whole description πŸŽ€

  • INCX
!>          INCX is INTEGER
!>          The increment between elements of X. INCX > 0.

the stride between elements of X. and heads up: INCX > 0. strictly. no zero, no negatives πŸ™ˆ

  • Y
!>          Y is COMPLEX*16 array, dimension (1+(N-1)*INCY)
!>          The vector y.

the other half of the duo. COMPLEX*16, dimension (1+(N-1)*INCY), it's the vector y. x and y are a package deal fr fr πŸ¦‹

  • INCY
!>          INCY is INTEGER
!>          The increment between elements of Y. INCY > 0.

stride between elements of Y, and again INCY > 0 β€” yes this is mandatory, don't come at me πŸ’€

  • C
!>          C is DOUBLE PRECISION array, dimension (1+(N-1)*INCC)
!>          The cosines of the plane rotations.

the cosines. DOUBLE PRECISION, dimension (1+(N-1)*INCC). real ones only, no cap πŸ’–

  • S
!>          S is COMPLEX*16 array, dimension (1+(N-1)*INCC)
!>          The sines of the plane rotations.

the sines β€” and these ARE complex. COMPLEX*16, dimension (1+(N-1)*INCC). c real, s complex, that's the whole aesthetic ⭐

  • INCC
!>          INCC is INTEGER
!>          The increment between elements of C and S. INCC > 0.

the stride for both C and S β€” one increment, two arrays, efficiency icon behavior πŸ‘‘ and yes: INCC > 0. always. periodt.


🧚 Author

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

the whole squad showed up for this one 🫢

Definition at line 106 of file zlartv.f. πŸ“ if u need to find the source, now u know exactly where she lives.

πŸ“ Author

Generated automatically by Doxygen for LAPACK from the source code.

no human wrote this footer, it's literally Doxygen doing its little autogenerated thing πŸ€–βœ¨ (we still love her)


and that's the page, bestie!! 🌈 iykyk β€” this whole thing shipped with LAPACK, Version 3.12.0, dated /home/abui...RC/zlartv.f(3). go rotate ur vectors responsibly, mwah πŸ’œπŸŽ€

πŸ“¦ where this page comes from