CLARGV(3)

NAME
CLARGV - a vector of complex plane rotations with real cosines, determined by elements of the complex vectors x and y

SYNOPSIS

SUBROUTINE CLARGV(
    N, X, INCX, Y, INCY, C, INCC )

INTEGER
    INCC, INCX, INCY, N

REAL
    C( * )

COMPLEX
    X( * ), Y( * )

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

ARGUMENTS

N       (input) INTEGER
    The number of plane rotations to be generated.

X       (input/output) 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.

INCX    (input) INTEGER
    The increment between elements of X. INCX > 0.

Y       (input/output) COMPLEX array, dimension (1+(N-1)*INCY)
    On entry, the vector y. On exit, the sines of the plane rotations.

INCY    (input) INTEGER
    The increment between elements of Y. INCY > 0.

C       (output) REAL array, dimension (1+(N-1)*INCC)
    The cosines of the plane rotations.

INCC    (input) INTEGER
    The increment between elements of C. INCC > 0.

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.