BLAS/SRC/zdrot.f(3)

πŸ’… BLAS/SRC/zdrot.f β€” the manual, but make it cute

okay so this is the page for zdrot.f, straight out of the BLAS corner of LAPACK, and honestly? she's a little icon. it's giving "small subroutine, big rotations," and we're gonna get into all of it πŸŽ€


✨ SYNOPSIS ✨

Functions/Subroutines

  • subroutine zdrot (n, zx, incx, zy, incy, c, s) β€” bestie. that's the whole vibe. she's called 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 signature is long, no, we are not scared of her)

πŸ’– Purpose:

!>
!> Applies a plane rotation, where the cos and sin (c and s) are real
!> and the vectors cx and cy are complex.
!> jack dongarra, linpack, 3/11/78.
!>

so basically: she applies a plane rotation ✨ and the twist is that c and s (the cos and sin) are real, while the vectors cx and cy are complex. real cos, real sin, complex vectors β€” that's the whole bit, and it eats. also shoutout to jack dongarra, linpack, 3/11/78 for the historical moment 🫢


πŸŽ€ Parameters

N

!>          N is INTEGER
!>           On entry, N specifies the order of the vectors cx and cy.
!>           N must be at least zero.
!>

N is an INTEGER, and on entry it tells you the order of the vectors cx and cy. N must be at least zero β€” no negatives, we don't 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.
!>

ZX is a 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 πŸ’… (she changes in place, main character energy)

INCX

!>          INCX is INTEGER
!>           On entry, INCX specifies the increment for the elements of
!>           ZX. INCX must not be zero.
!>

INCX is an INTEGER. on entry it specifies the increment for the elements of ZX. INCX must not be zero β€” zero gets you absolutely nowhere, literally πŸ’€

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.
!>

ZY is a 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 πŸ¦‹ (twins with ZX, honestly)

INCY

!>          INCY is INTEGER
!>           On entry, INCY specifies the increment for the elements of
!>           ZY. INCY must not be zero.
!>

INCY is an INTEGER. on entry it specifies the increment for the elements of ZY. INCY must not be zero β€” periodt πŸ’œ

C

!>          C is DOUBLE PRECISION
!>           On entry, C specifies the cosine, cos.
!>

C is DOUBLE PRECISION, and on entry it specifies the cosine, cos 🌈

S

!>          S is DOUBLE PRECISION
!>           On entry, S specifies the sine, sin.
!>

S is DOUBLE PRECISION, and on entry it specifies the sine, sin ⭐


πŸ‘‘ Author

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

also: Definition at line 97 of file zdrot.f 🎯


🌟 Author

Generated automatically by Doxygen for LAPACK from the source code. (yes, the robot wrote the page, not the math, we stan a documentation pipeline 🧚)


okay that's the whole thing!! every flag, every dimension expression, every must not be zero, all of it β€” preserved and slayed πŸ’– and for the sign-off: this cutie is from LAPACK, Version 3.12.0, page BLAS/SRC/zdrot.f(3). go rotate something, bestie πŸ”₯🫢

πŸ“¦ where this page comes from