LAPACK  3.8.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.

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.
Date
December 2016

Definition at line 112 of file dlar2v.f.

112 *
113 * -- LAPACK auxiliary routine (version 3.7.0) --
114 * -- LAPACK is a software package provided by Univ. of Tennessee, --
115 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
116 * December 2016
117 *
118 * .. Scalar Arguments ..
119  INTEGER incc, incx, n
120 * ..
121 * .. Array Arguments ..
122  DOUBLE PRECISION c( * ), s( * ), x( * ), y( * ), z( * )
123 * ..
124 *
125 * =====================================================================
126 *
127 * .. Local Scalars ..
128  INTEGER i, ic, ix
129  DOUBLE PRECISION ci, si, t1, t2, t3, t4, t5, t6, xi, yi, zi
130 * ..
131 * .. Executable Statements ..
132 *
133  ix = 1
134  ic = 1
135  DO 10 i = 1, n
136  xi = x( ix )
137  yi = y( ix )
138  zi = z( ix )
139  ci = c( ic )
140  si = s( ic )
141  t1 = si*zi
142  t2 = ci*zi
143  t3 = t2 - si*xi
144  t4 = t2 + si*yi
145  t5 = ci*xi + t1
146  t6 = ci*yi - t1
147  x( ix ) = ci*t5 + si*t4
148  y( ix ) = ci*t6 - si*t3
149  z( ix ) = ci*t4 - si*t5
150  ix = ix + incx
151  ic = ic + incc
152  10 CONTINUE
153 *
154 * End of DLAR2V
155 *
156  RETURN
Here is the caller graph for this function: