 LAPACK  3.10.0 LAPACK: Linear Algebra PACKage

◆ dlar2v()

 subroutine dlar2v ( integer N, double precision, dimension( * ) X, double precision, dimension( * ) Y, double precision, dimension( * ) Z, integer INCX, double precision, dimension( * ) C, double precision, dimension( * ) S, integer INCC )

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.

Purpose:
DLAR2V applies a vector of real plane rotations from both sides to
a sequence of 2-by-2 real symmetric matrices, defined by the elements
of the vectors x, y and z. For i = 1,2,...,n

( x(i)  z(i) ) := (  c(i)  s(i) ) ( x(i)  z(i) ) ( c(i) -s(i) )
( z(i)  y(i) )    ( -s(i)  c(i) ) ( 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 DOUBLE PRECISION array, dimension (1+(N-1)*INCX) The vector x. [in,out] Y Y is DOUBLE PRECISION array, dimension (1+(N-1)*INCX) The vector y. [in,out] Z Z is DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (1+(N-1)*INCC) The cosines of the plane rotations. [in] S S is DOUBLE PRECISION 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.

Definition at line 109 of file dlar2v.f.

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
Here is the caller graph for this function: