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