LAR2V - 5.2 English - 68552

AOCL API Guide (68552)

Document ID
68552
Release Date
2025-12-29
Version
5.2 English
template<typename T>
void lar2v(integer *n, T *x, T *y, T *z, integer *incx, T *c, T *s, integer *incc)#

LAR2V 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:

 LAR2V 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:
  • N[in]

    N is INTEGER

    The number of plane rotations to be applied.

  • X[inout]

    X is REAL array, dimension (1+(N-1)*INCX)

    The vector x.

  • Y[inout]

    Y is REAL array, dimension (1+(N-1)*INCX)

    The vector y.

  • Z[inout]

    Z is REAL array, dimension (1+(N-1)*INCX)

    The vector z.

  • INCX[in]

    INCX is INTEGER

    The increment between elements of X, Y and Z. INCX > 0.

  • C[in]

    C is REAL array, dimension (1+(N-1)*INCC)

    The cosines of the plane rotations.

  • S[in]

    S is REAL array, dimension (1+(N-1)*INCC)

    The sines of the plane rotations.

  • INCC[in]

    INCC is INTEGER

    The increment between elements of C and S. INCC > 0.

template<typename T, typename Ta>
void lar2v(integer *n, T *x, T *y, T *z, integer *incx, Ta *c, T *s, integer *incc)#