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.