ZLARGV(3)

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

πŸ’… ZLARGV(3) β€” like, the whole manual page, bestie

okay so this is a page from the Library Functions Manual, and the file it lives at is /home/abui...RC/zlargv.f(3). that path is literally part of the vibe, don't @ me. it's a Fortran thing. LAPACK. you're gonna love her. πŸŽ€


✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zlargv.f β€” yes that's the whole name, she's got a long government name and honestly? iconic. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

subroutine ZLARGV (n, x, incx, y, incy, c, incc)

ZLARGV generates a vector of plane rotations with real cosines and complex sines. that's the whole elevator pitch. periodt. ✨


🌸 Function/Subroutine Documentation 🌸

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

so what does she do? ZLARGV generates a vector of plane rotations with real cosines and complex sines. no cap, that's the actual summary line. 🫢

πŸŽ€ Purpose πŸŽ€

ZLARGV generates a vector of complex plane rotations with real cosines, determined by elements of the complex vectors x and y. For i = 1,2,...,n ( c(i) s(i) ) ( x(i) ) = ( r(i) ) ( -conjg(s(i)) c(i) ) ( y(i) ) = ( 0 ) where c(i)**2 + ABS(s(i))**2 = 1

like, look at her go. she's building rotations and the maths is chef's kiss. πŸ”₯

The following conventions are used (these are the same as in ZLARTG, but differ from the BLAS1 routine ZROTG) β€” lowkey important, highkey a whole personality trait:

  • If y(i)=0, then c(i)=1 and s(i)=0.
  • If x(i)=0, then c(i)=0 and s(i) is chosen so that r(i) is real.

okay that's the whole purpose section, nothing skipped, we ate. πŸ’–


πŸ‘‘ Parameters πŸ‘‘

⭐ N

N is INTEGER The number of plane rotations to be generated. that's it. that's her job. πŸ’…

⭐ X

X is COMPLEX*16 array, dimension (1+(N-1)*INCX) On entry, the vector x. On exit, x(i) is overwritten by r(i), for i = 1,...,n. so she does do the thing, she just leaves it in x. rude? maybe. useful? absolutely. πŸ¦‹

⭐ INCX

INCX is INTEGER The increment between elements of X. INCX > 0. note the greater than zero, bestie, no negative strides here. πŸ’€

⭐ Y

Y is COMPLEX*16 array, dimension (1+(N-1)*INCY) On entry, the vector y. On exit, the sines of the plane rotations. yasss she's a storage unit now. 😭

⭐ INCY

INCY is INTEGER The increment between elements of Y. INCY > 0. same deal. > 0. don't try it. πŸ™ˆ

⭐ C

C is DOUBLE PRECISION array, dimension (1+(N-1)*INCC) The cosines of the plane rotations. real ones. literal real numbers. πŸ“

⭐ INCC

INCC is INTEGER The increment between elements of C. INCC > 0. yes, again with the positive. we been knew. ✨


🌈 Author 🌈

the whole squad gets credit, we love a group project:

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

🧚 Further Details 🧚

6-6-96 - Modified with a new algorithm by W. Kahan and J. Demmel

and also, super important:

This version has a few statements commented out for thread safety (machine parameters are computed on each entry). 10 feb 03, SJH.

so like, the thread-safety thing is real β€” some statements are commented out and machine parameters get recomputed on every entry. that's a design choice and it's theirs. πŸ’œ


⭐ Definition ⭐

Definition at line 121 of file zlargv.f. that's where she lives. 🏠


🫢 Author (the meta one) 🫢

Generated automatically by Doxygen for LAPACK from the source code. so no human typed this section out by hand β€” a robot did it. she's still iconic tho. πŸ€–βœ¨


and that's the whole page!! LAPACK, Version 3.12.0, dated to match /home/abui...RC/zlargv.f(3) β€” go forth and generate those plane rotations, bestie. mwah. πŸ’‹πŸŽ€

πŸ“¦ where this page comes from