1 SUBROUTINE ZLARTV( N, X, INCX, Y, INCY, C, S, INCC )
2 *
3 * -- LAPACK auxiliary routine (version 3.2) --
4 * -- LAPACK is a software package provided by Univ. of Tennessee, --
5 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
6 * November 2006
7 *
8 * .. Scalar Arguments ..
9 INTEGER INCC, INCX, INCY, N
10 * ..
11 * .. Array Arguments ..
12 DOUBLE PRECISION C( * )
13 COMPLEX*16 S( * ), X( * ), Y( * )
14 * ..
15 *
16 * Purpose
17 * =======
18 *
19 * ZLARTV applies a vector of complex plane rotations with real cosines
20 * to elements of the complex vectors x and y. For i = 1,2,...,n
21 *
22 * ( x(i) ) := ( c(i) s(i) ) ( x(i) )
23 * ( y(i) ) ( -conjg(s(i)) c(i) ) ( y(i) )
24 *
25 * Arguments
26 * =========
27 *
28 * N (input) INTEGER
29 * The number of plane rotations to be applied.
30 *
31 * X (input/output) COMPLEX*16 array, dimension (1+(N-1)*INCX)
32 * The vector x.
33 *
34 * INCX (input) INTEGER
35 * The increment between elements of X. INCX > 0.
36 *
37 * Y (input/output) COMPLEX*16 array, dimension (1+(N-1)*INCY)
38 * The vector y.
39 *
40 * INCY (input) INTEGER
41 * The increment between elements of Y. INCY > 0.
42 *
43 * C (input) DOUBLE PRECISION array, dimension (1+(N-1)*INCC)
44 * The cosines of the plane rotations.
45 *
46 * S (input) COMPLEX*16 array, dimension (1+(N-1)*INCC)
47 * The sines of the plane rotations.
48 *
49 * INCC (input) INTEGER
50 * The increment between elements of C and S. INCC > 0.
51 *
52 * =====================================================================
53 *
54 * .. Local Scalars ..
55 INTEGER I, IC, IX, IY
56 COMPLEX*16 XI, YI
57 * ..
58 * .. Intrinsic Functions ..
59 INTRINSIC DCONJG
60 * ..
61 * .. Executable Statements ..
62 *
63 IX = 1
64 IY = 1
65 IC = 1
66 DO 10 I = 1, N
67 XI = X( IX )
68 YI = Y( IY )
69 X( IX ) = C( IC )*XI + S( IC )*YI
70 Y( IY ) = C( IC )*YI - DCONJG( S( IC ) )*XI
71 IX = IX + INCX
72 IY = IY + INCY
73 IC = IC + INCC
74 10 CONTINUE
75 RETURN
76 *
77 * End of ZLARTV
78 *
79 END
2 *
3 * -- LAPACK auxiliary routine (version 3.2) --
4 * -- LAPACK is a software package provided by Univ. of Tennessee, --
5 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
6 * November 2006
7 *
8 * .. Scalar Arguments ..
9 INTEGER INCC, INCX, INCY, N
10 * ..
11 * .. Array Arguments ..
12 DOUBLE PRECISION C( * )
13 COMPLEX*16 S( * ), X( * ), Y( * )
14 * ..
15 *
16 * Purpose
17 * =======
18 *
19 * ZLARTV applies a vector of complex plane rotations with real cosines
20 * to elements of the complex vectors x and y. For i = 1,2,...,n
21 *
22 * ( x(i) ) := ( c(i) s(i) ) ( x(i) )
23 * ( y(i) ) ( -conjg(s(i)) c(i) ) ( y(i) )
24 *
25 * Arguments
26 * =========
27 *
28 * N (input) INTEGER
29 * The number of plane rotations to be applied.
30 *
31 * X (input/output) COMPLEX*16 array, dimension (1+(N-1)*INCX)
32 * The vector x.
33 *
34 * INCX (input) INTEGER
35 * The increment between elements of X. INCX > 0.
36 *
37 * Y (input/output) COMPLEX*16 array, dimension (1+(N-1)*INCY)
38 * The vector y.
39 *
40 * INCY (input) INTEGER
41 * The increment between elements of Y. INCY > 0.
42 *
43 * C (input) DOUBLE PRECISION array, dimension (1+(N-1)*INCC)
44 * The cosines of the plane rotations.
45 *
46 * S (input) COMPLEX*16 array, dimension (1+(N-1)*INCC)
47 * The sines of the plane rotations.
48 *
49 * INCC (input) INTEGER
50 * The increment between elements of C and S. INCC > 0.
51 *
52 * =====================================================================
53 *
54 * .. Local Scalars ..
55 INTEGER I, IC, IX, IY
56 COMPLEX*16 XI, YI
57 * ..
58 * .. Intrinsic Functions ..
59 INTRINSIC DCONJG
60 * ..
61 * .. Executable Statements ..
62 *
63 IX = 1
64 IY = 1
65 IC = 1
66 DO 10 I = 1, N
67 XI = X( IX )
68 YI = Y( IY )
69 X( IX ) = C( IC )*XI + S( IC )*YI
70 Y( IY ) = C( IC )*YI - DCONJG( S( IC ) )*XI
71 IX = IX + INCX
72 IY = IY + INCY
73 IC = IC + INCC
74 10 CONTINUE
75 RETURN
76 *
77 * End of ZLARTV
78 *
79 END