LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
dlar2v.f
Go to the documentation of this file.
1*> \brief \b DLAR2V applies a vector of plane rotations with real cosines and real sines from both sides to a sequence of 2-by-2 symmetric/Hermitian matrices.
2*
3* =========== DOCUMENTATION ===========
4*
5* Online html documentation available at
6* http://www.netlib.org/lapack/explore-html/
7*
8*> \htmlonly
9*> Download DLAR2V + dependencies
10*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dlar2v.f">
11*> [TGZ]</a>
12*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dlar2v.f">
13*> [ZIP]</a>
14*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlar2v.f">
15*> [TXT]</a>
16*> \endhtmlonly
17*
18* Definition:
19* ===========
20*
21* SUBROUTINE DLAR2V( N, X, Y, Z, INCX, C, S, INCC )
22*
23* .. Scalar Arguments ..
24* INTEGER INCC, INCX, N
25* ..
26* .. Array Arguments ..
27* DOUBLE PRECISION C( * ), S( * ), X( * ), Y( * ), Z( * )
28* ..
29*
30*
31*> \par Purpose:
32* =============
33*>
34*> \verbatim
35*>
36*> DLAR2V applies a vector of real plane rotations from both sides to
37*> a sequence of 2-by-2 real symmetric matrices, defined by the elements
38*> of the vectors x, y and z. For i = 1,2,...,n
39*>
40*> ( x(i) z(i) ) := ( c(i) s(i) ) ( x(i) z(i) ) ( c(i) -s(i) )
41*> ( z(i) y(i) ) ( -s(i) c(i) ) ( z(i) y(i) ) ( s(i) c(i) )
42*> \endverbatim
43*
44* Arguments:
45* ==========
46*
47*> \param[in] N
48*> \verbatim
49*> N is INTEGER
50*> The number of plane rotations to be applied.
51*> \endverbatim
52*>
53*> \param[in,out] X
54*> \verbatim
55*> X is DOUBLE PRECISION array,
56*> dimension (1+(N-1)*INCX)
57*> The vector x.
58*> \endverbatim
59*>
60*> \param[in,out] Y
61*> \verbatim
62*> Y is DOUBLE PRECISION array,
63*> dimension (1+(N-1)*INCX)
64*> The vector y.
65*> \endverbatim
66*>
67*> \param[in,out] Z
68*> \verbatim
69*> Z is DOUBLE PRECISION array,
70*> dimension (1+(N-1)*INCX)
71*> The vector z.
72*> \endverbatim
73*>
74*> \param[in] INCX
75*> \verbatim
76*> INCX is INTEGER
77*> The increment between elements of X, Y and Z. INCX > 0.
78*> \endverbatim
79*>
80*> \param[in] C
81*> \verbatim
82*> C is DOUBLE PRECISION array, dimension (1+(N-1)*INCC)
83*> The cosines of the plane rotations.
84*> \endverbatim
85*>
86*> \param[in] S
87*> \verbatim
88*> S is DOUBLE PRECISION array, dimension (1+(N-1)*INCC)
89*> The sines of the plane rotations.
90*> \endverbatim
91*>
92*> \param[in] INCC
93*> \verbatim
94*> INCC is INTEGER
95*> The increment between elements of C and S. INCC > 0.
96*> \endverbatim
97*
98* Authors:
99* ========
100*
101*> \author Univ. of Tennessee
102*> \author Univ. of California Berkeley
103*> \author Univ. of Colorado Denver
104*> \author NAG Ltd.
105*
106*> \ingroup lar2v
107*
108* =====================================================================
109 SUBROUTINE dlar2v( N, X, Y, Z, INCX, C, S, INCC )
110*
111* -- LAPACK auxiliary routine --
112* -- LAPACK is a software package provided by Univ. of Tennessee, --
113* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
114*
115* .. Scalar Arguments ..
116 INTEGER INCC, INCX, N
117* ..
118* .. Array Arguments ..
119 DOUBLE PRECISION C( * ), S( * ), X( * ), Y( * ), Z( * )
120* ..
121*
122* =====================================================================
123*
124* .. Local Scalars ..
125 INTEGER I, IC, IX
126 DOUBLE PRECISION CI, SI, T1, T2, T3, T4, T5, T6, XI, YI, ZI
127* ..
128* .. Executable Statements ..
129*
130 ix = 1
131 ic = 1
132 DO 10 i = 1, n
133 xi = x( ix )
134 yi = y( ix )
135 zi = z( ix )
136 ci = c( ic )
137 si = s( ic )
138 t1 = si*zi
139 t2 = ci*zi
140 t3 = t2 - si*xi
141 t4 = t2 + si*yi
142 t5 = ci*xi + t1
143 t6 = ci*yi - t1
144 x( ix ) = ci*t5 + si*t4
145 y( ix ) = ci*t6 - si*t3
146 z( ix ) = ci*t4 - si*t5
147 ix = ix + incx
148 ic = ic + incc
149 10 CONTINUE
150*
151* End of DLAR2V
152*
153 RETURN
154 END
subroutine dlar2v(n, x, y, z, incx, c, s, incc)
DLAR2V applies a vector of plane rotations with real cosines and real sines from both sides to a sequ...
Definition dlar2v.f:110