# clargv (l) - Linux Manuals

## NAME

CLARGV - generates 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)    )

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.