10#ifndef EIGEN_CXX11_TENSORSYMMETRY_TEMPLATEGROUPTHEORY_H
11#define EIGEN_CXX11_TENSORSYMMETRY_TEMPLATEGROUPTHEORY_H
17namespace 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,
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,
212 template<
typename,
typename>
class Multiply,
213 template<
typename,
typename>
class Equality,
232 typedef typename helper::type
type;
257 template<
typename,
typename>
class Multiply,
259 typename new_coset_rep,
268 template<
typename,
typename>
class Multiply,
270 typename new_coset_rep
292 template<
typename,
typename>
class Multiply,
293 template<
typename,
typename>
class Equality,
298 typename rep_element,
304 template<
typename,
typename>
class Multiply,
305 template<
typename,
typename>
class Equality,
311 typename rep_element,
318 constexpr static bool add_coset = !_cil::value;
338 typedef typename _helper::type
type;
339 constexpr static int global_flags = _cil::global_flags | _helper::global_flags;
350 template<
typename,
typename>
class Multiply,
351 template<
typename,
typename>
class Equality,
356 typename rep_element,
362 constexpr static int global_flags = 0;
380 template<
typename,
typename>
class Multiply,
381 template<
typename,
typename>
class Equality,
401 sub_group_elements::count
405 constexpr static int new_rep_pos = rep_pos + sub_group_elements::count;
420 typedef typename _helper::type
type;
421 constexpr static int global_flags = _helper::global_flags | _ac4r::global_flags;
425 template<
typename,
typename>
class Multiply,
426 template<
typename,
typename>
class Equality,
453 template<
typename,
typename>
class Multiply,
454 template<
typename,
typename>
class Equality,
457 typename generators_done,
470 constexpr static int rep_pos = elements::count;
483 typedef typename _helper::type
type;
488 template<
typename,
typename>
class Multiply,
489 template<
typename,
typename>
class Equality,
492 typename generators_done,
515 template<
typename,
typename>
class Multiply,
516 template<
typename,
typename>
class Equality,
518 typename generators_done,
550 typedef typename _next_iter::type
type;
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,
585 template<
typename,
typename>
class Multiply,
586 template<
typename,
typename>
class Equality,
600 typename first_step::generators_done,
601 typename first_step::next_generators,
602 typename first_step::type
605 typedef typename _helper::type
type;
608 first_step::global_flags |
609 _helper::global_flags;
614 template<
typename,
typename>
class Multiply,
615 template<
typename,
typename>
class Equality,
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
#define EIGEN_TPL_PP_SPEC_HACK_USE(n)
Definition CXX11Workarounds.h:76
#define EIGEN_TPL_PP_SPEC_HACK_DEFC(mt, n)
Definition CXX11Workarounds.h:75
MatrixXd L
Definition LLT_example.cpp:6
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
Definition BandTriangularSolver.h:13
decltype(h_apply_op< false, op, additional_param >::helper(a())) type
Definition CXX11Meta.h:176
Definition CXX11Meta.h:65
Definition CXX11Meta.h:115
elements type
Definition TemplateGroupTheory.h:436
Definition TemplateGroupTheory.h:391
static constexpr bool new_stop_condition
Definition TemplateGroupTheory.h:406
static constexpr int global_flags
Definition TemplateGroupTheory.h:421
static constexpr int new_rep_pos
Definition TemplateGroupTheory.h:405
_helper::type type
Definition TemplateGroupTheory.h:420
get< rep_pos, elements >::type rep_element
Definition TemplateGroupTheory.h:392
dimino_add_cosets_for_rep< Multiply, Equality, id, sub_group_elements, elements, generators, rep_element, sub_group_elements::count > _ac4r
Definition TemplateGroupTheory.h:402
_ac4r::type new_elements
Definition TemplateGroupTheory.h:403
dimino_add_all_coset_spaces< Multiply, Equality, id, sub_group_elements, new_elements, generators, sub_group_size, new_rep_pos, new_stop_condition > _helper
Definition TemplateGroupTheory.h:418
elements type
Definition TemplateGroupTheory.h:361
Multiply< rep_element, g >::type new_coset_rep
Definition TemplateGroupTheory.h:316
contained_in_list_gf< Equality, new_coset_rep, elements > _cil
Definition TemplateGroupTheory.h:317
_helper::type type
Definition TemplateGroupTheory.h:338
dimino_get_coset_elements< Multiply, sub_group_elements, new_coset_rep, add_coset >::type coset_elements
Definition TemplateGroupTheory.h:325
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
Definition TemplateGroupTheory.h:336
Definition TemplateGroupTheory.h:301
elements type
Definition TemplateGroupTheory.h:498
Definition TemplateGroupTheory.h:462
_helper::type type
Definition TemplateGroupTheory.h:483
static constexpr int rep_pos
Definition TemplateGroupTheory.h:470
apply_op_from_right< Multiply, current_generator, elements >::type multiplied_elements
Definition TemplateGroupTheory.h:467
static constexpr int global_flags
Definition TemplateGroupTheory.h:484
concat< elements, multiplied_elements >::type new_elements
Definition TemplateGroupTheory.h:468
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
Definition TemplateGroupTheory.h:482
elements type
Definition TemplateGroupTheory.h:566
Definition TemplateGroupTheory.h:523
skip< 1, remaining_generators >::type next_generators
Definition TemplateGroupTheory.h:525
_helper::type new_elements
Definition TemplateGroupTheory.h:539
dimino_add_generator< Multiply, Equality, id, elements, generators_done, first_generator, _cil::value > _helper
Definition TemplateGroupTheory.h:537
_next_iter::type type
Definition TemplateGroupTheory.h:550
dimino_add_remaining_generators< Multiply, Equality, id, typename concat< generators_done, type_list< first_generator > >::type, next_generators, new_elements > _next_iter
Definition TemplateGroupTheory.h:548
contained_in_list_gf< Equality, first_generator, elements > _cil
Definition TemplateGroupTheory.h:527
get< 0, remaining_generators >::type first_generator
Definition TemplateGroupTheory.h:524
static constexpr int global_flags
Definition TemplateGroupTheory.h:551
elements type
Definition TemplateGroupTheory.h:194
Definition TemplateGroupTheory.h:181
Definition TemplateGroupTheory.h:218
helper::type type
Definition TemplateGroupTheory.h:232
get< 0, generators >::type first_generator
Definition TemplateGroupTheory.h:219
static constexpr int global_flags
Definition TemplateGroupTheory.h:233
dimino_first_step_elements_helper< Multiply, Equality, id, first_generator, first_generator, type_list< id >, false > helper
Definition TemplateGroupTheory.h:231
type_list< first_generator > generators_done
Definition TemplateGroupTheory.h:221
skip< 1, generators >::type next_generators
Definition TemplateGroupTheory.h:220
type_list type
Definition TemplateGroupTheory.h:274
Definition TemplateGroupTheory.h:263
apply_op_from_right< Multiply, new_coset_rep, sub_group_elements >::type type
Definition TemplateGroupTheory.h:264
type_list< id > type
Definition TemplateGroupTheory.h:621
Definition TemplateGroupTheory.h:592
dimino_add_remaining_generators< Multiply, Equality, id, typename first_step::generators_done, typename first_step::next_generators, typename first_step::type > _helper
Definition TemplateGroupTheory.h:603
dimino_first_step_elements< Multiply, Equality, id, generators > first_step
Definition TemplateGroupTheory.h:593
static constexpr int global_flags
Definition TemplateGroupTheory.h:606
_helper::type type
Definition TemplateGroupTheory.h:605
first_step::type first_step_elements
Definition TemplateGroupTheory.h:594
Definition TemplateGroupTheory.h:656
type_list type
Definition TemplateGroupTheory.h:144
conditional< Equality< id, t >::value, typenamestrip_identities< Equality, id, type_list< ts... > >::type, typenameconcat< type_list< t >, typenamestrip_identities< Equality, id, type_list< ts... > >::type >::type >::type type
Definition TemplateGroupTheory.h:133
Definition TemplateGroupTheory.h:119
decltype(h_skip< n >::helper(a())) type
Definition CXX11Meta.h:109
Definition ForwardDeclarations.h:17
Definition CXX11Meta.h:29