6 #ifndef MYRAMATH_DENSE_ROTATE_H     7 #define MYRAMATH_DENSE_ROTATE_H    15 #include <myramath/MYRAMATH_EXPORT.h>    24 template<
class Number> 
class Matrix22;
    27 MYRAMATH_EXPORT std::pair<NumberS, NumberS> rotate1(NumberS a0, NumberS a1);
    29 MYRAMATH_EXPORT std::pair<NumberD, NumberD> rotate1(NumberD a0, NumberD a1);
    30 MYRAMATH_EXPORT std::pair<NumberC, NumberC> rotate1(NumberC a0, NumberC a1);
    31 MYRAMATH_EXPORT std::pair<NumberZ, NumberZ> rotate1(NumberZ a0, NumberZ a1);
    35 MYRAMATH_EXPORT Matrix22<NumberS> make_Matrix22(NumberS a0, NumberS a1);
    37 MYRAMATH_EXPORT Matrix22<NumberD> make_Matrix22(NumberD a0, NumberD a1);
    38 MYRAMATH_EXPORT Matrix22<NumberC> make_Matrix22(NumberC a0, NumberC a1);
    39 MYRAMATH_EXPORT Matrix22<NumberZ> make_Matrix22(NumberZ a0, NumberZ a1);
    43 MYRAMATH_EXPORT Matrix22<NumberS> sy_rotate2(NumberS a00, NumberS a11, NumberS a10);
    45 MYRAMATH_EXPORT Matrix22<NumberD> sy_rotate2(NumberD a00, NumberD a11, NumberD a10);
    46 MYRAMATH_EXPORT Matrix22<NumberC> sy_rotate2(NumberC a00, NumberC a11, NumberC a10);
    47 MYRAMATH_EXPORT Matrix22<NumberZ> sy_rotate2(NumberZ a00, NumberZ a11, NumberZ a10);
    51 MYRAMATH_EXPORT Matrix22<NumberS> sy_rotate2(
const Matrix22<NumberS>& A);
    53 MYRAMATH_EXPORT Matrix22<NumberD> sy_rotate2(
const Matrix22<NumberD>& A);
    54 MYRAMATH_EXPORT Matrix22<NumberC> sy_rotate2(
const Matrix22<NumberC>& A);
    55 MYRAMATH_EXPORT Matrix22<NumberZ> sy_rotate2(
const Matrix22<NumberZ>& A);
    59 MYRAMATH_EXPORT Matrix22<NumberC> he_rotate2(NumberS a00, NumberS a11, NumberC a10);
    61 MYRAMATH_EXPORT Matrix22<NumberZ> he_rotate2(NumberD a00, NumberD a11, NumberZ a10);
    65 MYRAMATH_EXPORT Matrix22<NumberC> he_rotate2(
const Matrix22<NumberC>& A);
    67 MYRAMATH_EXPORT Matrix22<NumberZ> he_rotate2(
const Matrix22<NumberZ>& A);
 
Various utility functions/classes related to scalar Number types. 
Matrix type with fixed size 2x2. 
Definition: Matrix22.h:25
Matrix22< Number > U
Decomposes A = U*S*V. 
Definition: rotate.h:79
Reflects Precision trait for a Number, scalar Number types should specialize it. 
Definition: Number.h:33
Return type of gesvd2() 
Definition: rotate.h:71
ReflectPrecision< Number >::type Precision
Useful typedefs. 
Definition: rotate.h:76