 LAPACK  3.10.0 LAPACK: Linear Algebra PACKage

◆ clar2v()

 subroutine clar2v ( integer N, complex, dimension( * ) X, complex, dimension( * ) Y, complex, dimension( * ) Z, integer INCX, real, dimension( * ) C, complex, dimension( * ) S, integer INCC )

CLAR2V applies a vector of plane rotations with real cosines and complex sines from both sides to a sequence of 2-by-2 symmetric/Hermitian matrices.

Purpose:
CLAR2V applies a vector of complex plane rotations with real cosines
from both sides to a sequence of 2-by-2 complex Hermitian matrices,
defined by the elements of the vectors x, y and z. For i = 1,2,...,n

(       x(i)  z(i) ) :=
( conjg(z(i)) y(i) )

(  c(i) conjg(s(i)) ) (       x(i)  z(i) ) ( c(i) -conjg(s(i)) )
( -s(i)       c(i)  ) ( conjg(z(i)) y(i) ) ( s(i)        c(i)  )
Parameters
 [in] N N is INTEGER The number of plane rotations to be applied. [in,out] X X is COMPLEX array, dimension (1+(N-1)*INCX) The vector x; the elements of x are assumed to be real. [in,out] Y Y is COMPLEX array, dimension (1+(N-1)*INCX) The vector y; the elements of y are assumed to be real. [in,out] Z Z is COMPLEX array, dimension (1+(N-1)*INCX) The vector z. [in] INCX INCX is INTEGER The increment between elements of X, Y and Z. INCX > 0. [in] C C is REAL array, dimension (1+(N-1)*INCC) The cosines of the plane rotations. [in] S S is COMPLEX array, dimension (1+(N-1)*INCC) The sines of the plane rotations. [in] INCC INCC is INTEGER The increment between elements of C and S. INCC > 0.

Definition at line 110 of file clar2v.f.

111 *
112 * -- LAPACK auxiliary routine --
113 * -- LAPACK is a software package provided by Univ. of Tennessee, --
114 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
115 *
116 * .. Scalar Arguments ..
117  INTEGER INCC, INCX, N
118 * ..
119 * .. Array Arguments ..
120  REAL C( * )
121  COMPLEX S( * ), X( * ), Y( * ), Z( * )
122 * ..
123 *
124 * =====================================================================
125 *
126 * .. Local Scalars ..
127  INTEGER I, IC, IX
128  REAL CI, SII, SIR, T1I, T1R, T5, T6, XI, YI, ZII,
129  \$ ZIR
130  COMPLEX SI, T2, T3, T4, ZI
131 * ..
132 * .. Intrinsic Functions ..
133  INTRINSIC aimag, cmplx, conjg, real
134 * ..
135 * .. Executable Statements ..
136 *
137  ix = 1
138  ic = 1
139  DO 10 i = 1, n
140  xi = real( x( ix ) )
141  yi = real( y( ix ) )
142  zi = z( ix )
143  zir = real( zi )
144  zii = aimag( zi )
145  ci = c( ic )
146  si = s( ic )
147  sir = real( si )
148  sii = aimag( si )
149  t1r = sir*zir - sii*zii
150  t1i = sir*zii + sii*zir
151  t2 = ci*zi
152  t3 = t2 - conjg( si )*xi
153  t4 = conjg( t2 ) + si*yi
154  t5 = ci*xi + t1r
155  t6 = ci*yi - t1r
156  x( ix ) = ci*t5 + ( sir*real( t4 )+sii*aimag( t4 ) )
157  y( ix ) = ci*t6 - ( sir*real( t3 )-sii*aimag( t3 ) )
158  z( ix ) = ci*t3 + conjg( si )*cmplx( t6, t1i )
159  ix = ix + incx
160  ic = ic + incc
161  10 CONTINUE
162  RETURN
163 *
164 * End of CLAR2V
165 *
Here is the caller graph for this function: