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.
3 * =========== DOCUMENTATION ===========
5 * Online html documentation available at
6 * http://www.netlib.org/lapack/explore-html/
9 *> Download DLAR2V + dependencies
10 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dlar2v.f">
12 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dlar2v.f">
14 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlar2v.f">
21 * SUBROUTINE DLAR2V( N, X, Y, Z, INCX, C, S, INCC )
23 * .. Scalar Arguments ..
24 * INTEGER INCC, INCX, N
26 * .. Array Arguments ..
27 * DOUBLE PRECISION C( * ), S( * ), X( * ), Y( * ), Z( * )
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
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) )
50 *> The number of plane rotations to be applied.
55 *> X is DOUBLE PRECISION array,
56 *> dimension (1+(N-1)*INCX)
62 *> Y is DOUBLE PRECISION array,
63 *> dimension (1+(N-1)*INCX)
69 *> Z is DOUBLE PRECISION array,
70 *> dimension (1+(N-1)*INCX)
77 *> The increment between elements of X, Y and Z. INCX > 0.
82 *> C is DOUBLE PRECISION array, dimension (1+(N-1)*INCC)
83 *> The cosines of the plane rotations.
88 *> S is DOUBLE PRECISION array, dimension (1+(N-1)*INCC)
89 *> The sines of the plane rotations.
95 *> The increment between elements of C and S. INCC > 0.
101 *> \author Univ. of Tennessee
102 *> \author Univ. of California Berkeley
103 *> \author Univ. of Colorado Denver
106 *> \date September 2012
108 *> \ingroup doubleOTHERauxiliary
110 * =====================================================================
111 SUBROUTINE DLAR2V( N, X, Y, Z, INCX, C, S, INCC )
113 * -- LAPACK auxiliary routine (version 3.4.2) --
114 * -- LAPACK is a software package provided by Univ. of Tennessee, --
115 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
118 * .. Scalar Arguments ..
119 INTEGER INCC, INCX, N
121 * .. Array Arguments ..
122 DOUBLE PRECISION C( * ), S( * ), X( * ), Y( * ), Z( * )
125 * =====================================================================
127 * .. Local Scalars ..
129 DOUBLE PRECISION CI, SI, T1, T2, T3, T4, T5, T6, XI, YI, ZI
131 * .. Executable Statements ..
147 X( IX ) = CI*T5 + SI*T4
148 Y( IX ) = CI*T6 - SI*T3
149 Z( IX ) = CI*T4 - SI*T5