ZDROT(3)

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

✨ NAME ✨

Ok so bestie, this page is from the Library Functions Manual and it's all about one file: /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/zdrot.f 🩷 like, that's the whole name section, that's the assignment, that's the file we're hyping today.


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

subroutine ZDROT (n, zx, incx, zy, incy, c, s)
    ZDROT

πŸ’… Function/Subroutine Documentation πŸ’…

subroutine ZDROT (integer n, complex*16, dimension( * ) zx, integer incx,
    complex*16, dimension( * ) zy, integer incy, double precision c, double
    precision s)

ZDROT πŸ’« (yes the subroutine is literally just called ZDROT again, it's giving main character energy, it said "I am the function")

🌸 Purpose 🌸

Applies a plane rotation, where the cos and sin (c and s) are real and the vectors cx and cy are complex. ✨

And fr fr the credit line is right there in the source:

jack dongarra, linpack, 3/11/78.

like, 1978?? an icon, a legend, a pioneer πŸ‘‘

πŸŽ€ Parameters πŸŽ€

  • N β€” N is INTEGER. On entry, N specifies the order of the vectors cx and cy. N must be at least zero. (zero is fine bestie, negative is not, we do not do that here 🚫)
  • ZX β€” ZX is COMPLEX*16 array, dimension at least ( 1 + ( N - 1 )*abs( INCX ) ). Before entry, the incremented array ZX must contain the n element vector cx. On exit, ZX is overwritten by the updated vector cx. πŸ’– so like, it comes in as cx and leaves as the glow-up version of cx.
  • INCX β€” INCX is INTEGER. On entry, INCX specifies the increment for the elements of ZX. INCX must not be zero. ⚠️ not zero. like, don't. the math will simply not math.
  • ZY β€” ZY is COMPLEX*16 array, dimension at least ( 1 + ( N - 1 )*abs( INCY ) ). Before entry, the incremented array ZY must contain the n element vector cy. On exit, ZY is overwritten by the updated vector cy. πŸ¦‹ same deal, cy gets its little makeover.
  • INCY β€” INCY is INTEGER. On entry, INCY specifies the increment for the elements of ZY. INCY must not be zero. πŸ™ˆ again: NOT zero.
  • C β€” C is DOUBLE PRECISION. On entry, C specifies the cosine, cos. 🌈
  • S β€” S is DOUBLE PRECISION. On entry, S specifies the sine, sin. ⭐

πŸ‘‘ Author πŸ‘‘

The whole squad behind this one:

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

and just so we're clear, this is Definition at line 97 of file zdrot.f. πŸ“


πŸ’œ Author (the meta one) πŸ’œ

Generated automatically by Doxygen for LAPACK from the source code. πŸ€–βœ¨ no humans were harmed, the robot did it.


ok so quick recap bestie: real c and s, complex cx and cy, N at least zero, increments not zero, arrays big enough for ( 1 + ( N - 1 )*abs( INC ) ), and ZX/ZY get overwritten on the way out. that's the whole vibe check and you passed it πŸ’―

LAPACK, Version 3.12.0 🫢 and the page itself lives at /home/abui...SRC/zdrot.f(3) β€” mwah, go rotate some planes, ily, bye πŸ’…πŸŽ€

πŸ“¦ where this page comes from