SRC/clargv.f(3)
π NAME
SRC/clargv.f β bestie, this is a Fortran file from the Library Functions Manual and it's literally the home of clargv, ok?
β¨ SYNOPSIS
π Functions/Subroutines
subroutine clargv (n, x, incx, y, incy, c, incc)β CLARGV generates a vector of plane rotations with real cosines and complex sines.
π«Ά Function/Subroutine Documentation
πΈ the actual signature, no cap
subroutine clargv (integer n, complex, dimension( * ) x, integer incx,
complex, dimension( * ) y, integer incy, real, dimension( * ) c, integer
incc)
CLARGV generates a vector of plane rotations with real cosines and complex sines. That's the whole vibe π«
π¦ Purpose
okay so here's the deal, straight from the source:
!>
!> CLARGV 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
!>
!> The following conventions are used (these are the same as in CLARTG,
!> but differ from the BLAS1 routine CROTG):
!> 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.
!>
So like, it's cooking up rotations that zero out y(i) and stash the real good stuff in r(i). And note the conventions β same as CLARTG, but different from the BLAS1 routine CROTG. Don't mix them up bestie, iykyk π
π Parameters
N
!> N is INTEGER
!> The number of plane rotations to be generated.
!>
literally just how many rotations we're generating β¨
X
!> X is COMPLEX array, dimension (1+(N-1)*INCX)
!> On entry, the vector x.
!> On exit, x(i) is overwritten by r(i), for i = 1,...,n.
!>
comes in as the vector x, leaves as r(i) for i = 1,...,n β she got a glow-up on the way out π
INCX
!> INCX is INTEGER
!> The increment between elements of X. INCX > 0.
!>
the stride between elements of X. must be INCX > 0 β no zero, no negative, periodt
Y
!> Y is COMPLEX array, dimension (1+(N-1)*INCY)
!> On entry, the vector y.
!> On exit, the sines of the plane rotations.
!>
goes in as vector y, comes out holding the sines of the plane rotations π
INCY
!> INCY is INTEGER
!> The increment between elements of Y. INCY > 0.
!>
stride for Y, and again: INCY > 0 π«Ά
C
!> C is REAL array, dimension (1+(N-1)*INCC)
!> The cosines of the plane rotations.
!>
the cosines, and they're REAL β main character energy, no imaginary part allowed π
INCC
!> INCC is INTEGER
!> The increment between elements of C. INCC > 0.
!>
stride for C. INCC > 0, we been knew π
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad behind it, iconic honestly π«‘
π Further Details
!>
!> 6-6-96 - Modified with a new algorithm by W. Kahan and J. Demmel
!>
!> This version has a few statements commented out for thread safety
!> (machine parameters are computed on each entry). 10 feb 03, SJH.
!>
so 6-6-96 it got a whole new algorithm from W. Kahan and J. Demmel β slay. And this version has a few statements commented out for thread safety because machine parameters get computed on each entry. 10 feb 03, SJH. β noted, bestie π§
β οΈ heads up: those commented-out statements are a thread-safety thing, not a "clean this up" invitation. leave them alone π
β Definition
Definition at line 121 of file clargv.f. that's the exact spot, fr fr β¨
π Author (of this page)
Generated automatically by Doxygen for LAPACK from the source code. a bot did this, and honestly? she ate π€π
and that's the whole page!! brought to you by LAPACK Version 3.12.0, for SRC/clargv.f(3) β mwah, go generate some rotations bestie ππ
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms