LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ 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.

Download DLAR2V + dependencies [TGZ] [ZIP] [TXT]

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.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

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: