LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

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

Download CLAR2V + dependencies [TGZ] [ZIP] [TXT]

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.
!> 
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 108 of file clar2v.f.

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