1 SUBROUTINE DLARTV( 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( * ), S( * ), X( * ), Y( * )
13 * ..
14 *
15 * Purpose
16 * =======
17 *
18 * DLARTV applies a vector of real plane rotations to elements of the
19 * real vectors x and y. For i = 1,2,...,n
20 *
21 * ( x(i) ) := ( c(i) s(i) ) ( x(i) )
22 * ( y(i) ) ( -s(i) c(i) ) ( y(i) )
23 *
24 * Arguments
25 * =========
26 *
27 * N (input) INTEGER
28 * The number of plane rotations to be applied.
29 *
30 * X (input/output) DOUBLE PRECISION array,
31 * 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) DOUBLE PRECISION array,
38 * dimension (1+(N-1)*INCY)
39 * The vector y.
40 *
41 * INCY (input) INTEGER
42 * The increment between elements of Y. INCY > 0.
43 *
44 * C (input) DOUBLE PRECISION array, dimension (1+(N-1)*INCC)
45 * The cosines of the plane rotations.
46 *
47 * S (input) DOUBLE PRECISION array, dimension (1+(N-1)*INCC)
48 * The sines of the plane rotations.
49 *
50 * INCC (input) INTEGER
51 * The increment between elements of C and S. INCC > 0.
52 *
53 * =====================================================================
54 *
55 * .. Local Scalars ..
56 INTEGER I, IC, IX, IY
57 DOUBLE PRECISION XI, YI
58 * ..
59 * .. Executable Statements ..
60 *
61 IX = 1
62 IY = 1
63 IC = 1
64 DO 10 I = 1, N
65 XI = X( IX )
66 YI = Y( IY )
67 X( IX ) = C( IC )*XI + S( IC )*YI
68 Y( IY ) = C( IC )*YI - S( IC )*XI
69 IX = IX + INCX
70 IY = IY + INCY
71 IC = IC + INCC
72 10 CONTINUE
73 RETURN
74 *
75 * End of DLARTV
76 *
77 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( * ), S( * ), X( * ), Y( * )
13 * ..
14 *
15 * Purpose
16 * =======
17 *
18 * DLARTV applies a vector of real plane rotations to elements of the
19 * real vectors x and y. For i = 1,2,...,n
20 *
21 * ( x(i) ) := ( c(i) s(i) ) ( x(i) )
22 * ( y(i) ) ( -s(i) c(i) ) ( y(i) )
23 *
24 * Arguments
25 * =========
26 *
27 * N (input) INTEGER
28 * The number of plane rotations to be applied.
29 *
30 * X (input/output) DOUBLE PRECISION array,
31 * 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) DOUBLE PRECISION array,
38 * dimension (1+(N-1)*INCY)
39 * The vector y.
40 *
41 * INCY (input) INTEGER
42 * The increment between elements of Y. INCY > 0.
43 *
44 * C (input) DOUBLE PRECISION array, dimension (1+(N-1)*INCC)
45 * The cosines of the plane rotations.
46 *
47 * S (input) DOUBLE PRECISION array, dimension (1+(N-1)*INCC)
48 * The sines of the plane rotations.
49 *
50 * INCC (input) INTEGER
51 * The increment between elements of C and S. INCC > 0.
52 *
53 * =====================================================================
54 *
55 * .. Local Scalars ..
56 INTEGER I, IC, IX, IY
57 DOUBLE PRECISION XI, YI
58 * ..
59 * .. Executable Statements ..
60 *
61 IX = 1
62 IY = 1
63 IC = 1
64 DO 10 I = 1, N
65 XI = X( IX )
66 YI = Y( IY )
67 X( IX ) = C( IC )*XI + S( IC )*YI
68 Y( IY ) = C( IC )*YI - S( IC )*XI
69 IX = IX + INCX
70 IY = IY + INCY
71 IC = IC + INCC
72 10 CONTINUE
73 RETURN
74 *
75 * End of DLARTV
76 *
77 END