Annotation of rpl/lapack/lapack/dlar2v.f, revision 1.1
1.1 ! bertrand 1: SUBROUTINE DLAR2V( N, X, Y, Z, INCX, C, S, INCC )
! 2: *
! 3: * -- LAPACK auxiliary routine (version 3.2) --
! 4: * -- LAPACK is a software package provided by Univ. of Tennessee, --
! 5: * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
! 6: * November 2006
! 7: *
! 8: * .. Scalar Arguments ..
! 9: INTEGER INCC, INCX, N
! 10: * ..
! 11: * .. Array Arguments ..
! 12: DOUBLE PRECISION C( * ), S( * ), X( * ), Y( * ), Z( * )
! 13: * ..
! 14: *
! 15: * Purpose
! 16: * =======
! 17: *
! 18: * DLAR2V applies a vector of real plane rotations from both sides to
! 19: * a sequence of 2-by-2 real symmetric matrices, defined by the elements
! 20: * of the vectors x, y and z. For i = 1,2,...,n
! 21: *
! 22: * ( x(i) z(i) ) := ( c(i) s(i) ) ( x(i) z(i) ) ( c(i) -s(i) )
! 23: * ( z(i) y(i) ) ( -s(i) c(i) ) ( z(i) y(i) ) ( s(i) c(i) )
! 24: *
! 25: * Arguments
! 26: * =========
! 27: *
! 28: * N (input) INTEGER
! 29: * The number of plane rotations to be applied.
! 30: *
! 31: * X (input/output) DOUBLE PRECISION array,
! 32: * dimension (1+(N-1)*INCX)
! 33: * The vector x.
! 34: *
! 35: * Y (input/output) DOUBLE PRECISION array,
! 36: * dimension (1+(N-1)*INCX)
! 37: * The vector y.
! 38: *
! 39: * Z (input/output) DOUBLE PRECISION array,
! 40: * dimension (1+(N-1)*INCX)
! 41: * The vector z.
! 42: *
! 43: * INCX (input) INTEGER
! 44: * The increment between elements of X, Y and Z. INCX > 0.
! 45: *
! 46: * C (input) DOUBLE PRECISION array, dimension (1+(N-1)*INCC)
! 47: * The cosines of the plane rotations.
! 48: *
! 49: * S (input) DOUBLE PRECISION array, dimension (1+(N-1)*INCC)
! 50: * The sines of the plane rotations.
! 51: *
! 52: * INCC (input) INTEGER
! 53: * The increment between elements of C and S. INCC > 0.
! 54: *
! 55: * =====================================================================
! 56: *
! 57: * .. Local Scalars ..
! 58: INTEGER I, IC, IX
! 59: DOUBLE PRECISION CI, SI, T1, T2, T3, T4, T5, T6, XI, YI, ZI
! 60: * ..
! 61: * .. Executable Statements ..
! 62: *
! 63: IX = 1
! 64: IC = 1
! 65: DO 10 I = 1, N
! 66: XI = X( IX )
! 67: YI = Y( IX )
! 68: ZI = Z( IX )
! 69: CI = C( IC )
! 70: SI = S( IC )
! 71: T1 = SI*ZI
! 72: T2 = CI*ZI
! 73: T3 = T2 - SI*XI
! 74: T4 = T2 + SI*YI
! 75: T5 = CI*XI + T1
! 76: T6 = CI*YI - T1
! 77: X( IX ) = CI*T5 + SI*T4
! 78: Y( IX ) = CI*T6 - SI*T3
! 79: Z( IX ) = CI*T4 - SI*T5
! 80: IX = IX + INCX
! 81: IC = IC + INCC
! 82: 10 CONTINUE
! 83: *
! 84: * End of DLAR2V
! 85: *
! 86: RETURN
! 87: END
CVSweb interface <joel.bertrand@systella.fr>