23 #ifndef MTY_GENERATOR_H_INCLUDED 24 #define MTY_GENERATOR_H_INCLUDED 37 template<
class ...Args>
48 std::ostream &out = std::cout,
55 csl::Expr operator()(std::vector<csl::Index> indices)
override;
57 csl::Expr operator()(
const std::vector<int>& indices)
override;
59 std::string getCodeName()
const;
72 template<
class ...Args>
77 csl::unique_Expr copy_unique()
const override;
83 std::ostream &out = std::cout
87 template<
class ...Args>
92 return csl::make_shared<GeneratorParent>(
93 std::forward<Args>(args)...
97 template<
class ...Args>
102 return csl::make_shared<GeneratorElement>(
103 std::forward<Args>(args)...)
104 ->getCanonicalPermutation();
122 const
std::
string& t_name,
123 const
csl::Space* t_space
125 :
Generator(generator_s(t_group, t_irrep, t_name, t_space))
137 const std::string& t_name,
138 const std::vector<const csl::Space*>& t_space
140 :
Generator(generator_s(t_group, t_irrep, t_name, t_space))
155 const std::string& t_name,
156 const std::vector<const csl::Space*>& t_space,
159 :
Generator(generator_s(t_group, t_irrep, t_name, t_space, t_tensor))
174 const std::string& t_name,
178 :
Generator(generator_s(t_group, t_irrep, t_name, t_space, t_tensor))
182 template<
class ...Args>
186 return (**
this)(std::forward<Args>(args)...);
189 template<
class ...Args>
191 csl::Expr operator()(
const std::vector<int>& indices, Args&& ...args)
193 return (**
this)(indices, std::forward<Args>(args)...);
196 template<
class ...Args>
198 csl::Expr operator()(
const std::vector<csl::Index>& indices, Args&& ...args)
200 return (**
this)(indices, std::forward<Args>(args)...);
Definition: gaugedGroup.h:194
Generator(mty::GaugedGroup *t_group, mty::Irrep const &t_irrep, const std::string &t_name, const std::vector< const csl::Space *> &t_space)
Constructor of a n-indexed parent.
Definition: generator.h:134
Namespace of MARTY.
Definition: 2HDM.h:31
Generator(mty::GaugedGroup *t_group, mty::Irrep const &t_irrep, const std::string &t_name, const csl::Space *t_space, const csl::Expr &t_tensor)
Constructor of a 1-indexed parent, with explicit tensor tensor.
Definition: generator.h:171
Classes handling irreducible representations of semi simple Lie algebras, using the Cartan formalism:...
Definition: generator.h:33
Generator(mty::GaugedGroup *t_group, mty::Irrep const &t_irrep, const std::string &t_name, const std::vector< const csl::Space *> &t_space, const csl::Expr &t_tensor)
Constructor of a n-indexed parent, with explicit tensor tensor.
Definition: generator.h:152
Handles the irreducible representation of a given semi-simple algebra.
Definition: representation.h:42
Definition: generator.h:68
Definition: generator.h:107