10 #ifndef EIGEN_CXX11_TENSORSYMMETRY_TEMPLATEGROUPTHEORY_H 11 #define EIGEN_CXX11_TENSORSYMMETRY_TEMPLATEGROUPTHEORY_H 17 namespace group_theory {
122 template<
typename,
typename>
class Equality,
138 template<
typename,
typename>
class Equality,
145 constexpr
static int global_flags = 0;
162 template<
typename,
typename>
class Multiply,
163 template<
typename,
typename>
class Equality,
166 typename current_element,
168 bool dont_add_current_element
171 #ifndef EIGEN_PARSED_BY_DOXYGEN
178 typename Multiply<current_element, g>::type,
179 typename concat<elements, type_list<current_element>>::type,
180 Equality<typename Multiply<current_element, g>::type, id>::value
184 template<
typename,
typename>
class Multiply,
185 template<
typename,
typename>
class Equality,
188 typename current_element,
195 constexpr
static int global_flags = Equality<current_element, id>::global_flags;
212 template<
typename,
typename>
class Multiply,
213 template<
typename,
typename>
class Equality,
233 constexpr
static int global_flags = helper::global_flags;
257 template<
typename,
typename>
class Multiply,
258 typename sub_group_elements,
259 typename new_coset_rep,
268 template<
typename,
typename>
class Multiply,
269 typename sub_group_elements,
270 typename new_coset_rep
292 template<
typename,
typename>
class Multiply,
293 template<
typename,
typename>
class Equality,
295 typename sub_group_elements,
298 typename rep_element,
304 template<
typename,
typename>
class Multiply,
305 template<
typename,
typename>
class Equality,
307 typename sub_group_elements,
311 typename rep_element,
317 typedef contained_in_list_gf<Equality, new_coset_rep, elements>
_cil;
339 constexpr
static int global_flags = _cil::global_flags | _helper::global_flags;
350 template<
typename,
typename>
class Multiply,
351 template<
typename,
typename>
class Equality,
353 typename sub_group_elements,
356 typename rep_element,
362 constexpr
static int global_flags = 0;
380 template<
typename,
typename>
class Multiply,
381 template<
typename,
typename>
class Equality,
383 typename sub_group_elements,
401 sub_group_elements::count
405 constexpr
static int new_rep_pos = rep_pos + sub_group_elements::count;
406 constexpr
static bool new_stop_condition = new_rep_pos >= new_elements::count;
421 constexpr
static int global_flags = _helper::global_flags | _ac4r::global_flags;
425 template<
typename,
typename>
class Multiply,
426 template<
typename,
typename>
class Equality,
428 typename sub_group_elements,
437 constexpr
static int global_flags = 0;
453 template<
typename,
typename>
class Multiply,
454 template<
typename,
typename>
class Equality,
457 typename generators_done,
458 typename current_generator,
470 constexpr
static int rep_pos = elements::count;
478 typename concat<generators_done, type_list<current_generator>>
::type,
484 constexpr
static int global_flags = _helper::global_flags;
488 template<
typename,
typename>
class Multiply,
489 template<
typename,
typename>
class Equality,
492 typename generators_done,
493 typename current_generator
499 constexpr
static int global_flags = 0;
515 template<
typename,
typename>
class Multiply,
516 template<
typename,
typename>
class Equality,
518 typename generators_done,
519 typename remaining_generators,
527 typedef contained_in_list_gf<Equality, first_generator, elements>
_cil;
545 typename concat<generators_done, type_list<first_generator>>
::type,
551 constexpr
static int global_flags =
553 _helper::global_flags |
554 _next_iter::global_flags;
558 template<
typename,
typename>
class Multiply,
559 template<
typename,
typename>
class Equality,
561 typename generators_done,
567 constexpr
static int global_flags = 0;
585 template<
typename,
typename>
class Multiply,
586 template<
typename,
typename>
class Equality,
589 int initial_global_flags = 0
606 constexpr
static int global_flags =
607 initial_global_flags |
608 first_step::global_flags |
609 _helper::global_flags;
614 template<
typename,
typename>
class Multiply,
615 template<
typename,
typename>
class Equality,
617 int initial_global_flags
622 constexpr
static int global_flags = initial_global_flags;
643 template<
typename,
typename>
class Multiply,
644 template<
typename,
typename>
class Equality,
653 typename strip_identities<Equality, id, _generators>::type,
654 strip_identities<Equality, id, _generators>::global_flags
665 #endif // EIGEN_CXX11_TENSORSYMMETRY_TEMPLATEGROUPTHEORY_H
dimino_add_cosets_for_rep< Multiply, Equality, id, sub_group_elements, typename concat< elements, coset_elements >::type, type_list< gs... >, rep_element, sub_group_size > _helper
Q id(Eigen::AngleAxisd(0, Q_z_axis))
contained_in_list_gf< Equality, first_generator, elements > _cil
Namespace containing all symbols from the Eigen library.
get< 0, remaining_generators >::type first_generator
void g(const string &key, int i)
contained_in_list_gf< Equality, new_coset_rep, elements > _cil
apply_op_from_right< Multiply, current_generator, elements >::type multiplied_elements
dimino_first_step_elements_helper< Multiply, Equality, id, first_generator, first_generator, type_list< id >, false > helper
conditional< Equality< id, t >::value, typename strip_identities< Equality, id, type_list< ts... > >::type, typename concat< type_list< t >, typename strip_identities< Equality, id, type_list< ts... > >::type >::type >::type type
type_list< first_generator > generators_done
dimino_add_remaining_generators< Multiply, Equality, id, typename first_step::generators_done, typename first_step::next_generators, typename first_step::type > _helper
dimino_add_cosets_for_rep< Multiply, Equality, id, sub_group_elements, elements, generators, rep_element, sub_group_elements::count > _ac4r
skip< 1, generators >::type next_generators
#define EIGEN_TPL_PP_SPEC_HACK_DEFC(mt, n)
concat< elements, multiplied_elements >::type new_elements
Multiply< rep_element, g >::type new_coset_rep
dimino_add_generator< Multiply, Equality, id, elements, generators_done, first_generator, _cil::value > _helper
dimino_add_remaining_generators< Multiply, Equality, id, typename concat< generators_done, type_list< first_generator > >::type, next_generators, new_elements > _next_iter
first_step::type first_step_elements
skip< 1, remaining_generators >::type next_generators
dimino_get_coset_elements< Multiply, sub_group_elements, new_coset_rep, add_coset >::type coset_elements
_helper::type new_elements
#define EIGEN_TPL_PP_SPEC_HACK_USE(n)
get< rep_pos, elements >::type rep_element
dimino_add_all_coset_spaces< Multiply, Equality, id, sub_group_elements, new_elements, generators, sub_group_size, new_rep_pos, new_stop_condition > _helper
get< 0, generators >::type first_generator
apply_op_from_right< Multiply, new_coset_rep, sub_group_elements >::type type
dimino_add_all_coset_spaces< Multiply, Equality, id, elements, new_elements, typename concat< generators_done, type_list< current_generator > >::type, elements::count, rep_pos, false > _helper
dimino_first_step_elements< Multiply, Equality, id, generators > first_step