Documentation of MARTY
A Modern ARtificial Theoretical phYsicist
Public Types | Public Member Functions | Private Member Functions | Private Attributes
color::ColorSpace Class Reference

Class inherited from csl::Space that is used for vector spaces of group representations, in particular for generators. More...

#include <colorSpace.h>

Inheritance diagram for color::ColorSpace:
[legend]

Public Types

using Modifier = std::function< std::vector< TraceIndices >(TraceIndices const &init)>
 

Public Member Functions

 ColorSpace (const mty::SemiSimpleGroup *t_group, const std::string &t_name, int t_dim, bool adjoint)
 
void printCode (std::ostream &out, int indentSize) const override
 
void printDefinition (std::ostream &out, int indentSize, bool header=false) const override
 
std::string getName () const override
 
bool hasSpecialTraceProperty (const csl::vector_expr &tensors) const override
 
csl::Expr calculateTrace (csl::vector_expr tensors) const override
 
mty::SemiSimpleGroup const * getGroup () const
 
bool isInstance (csl::Expr const &tensor) const
 
void applyE (size_t j, std::vector< TraceIndices > &terms) const
 
std::vector< TraceIndicessymmetrize (TraceIndices const &init) const
 
csl::Expr applySingleTraceIdentity (TraceIndices const &trace, mty::TraceIdentity const &id) const
 
csl::Expr applyTraceIdentity (TraceIndices const &trace, std::vector< mty::TraceIdentity > const &identities) const
 
csl::Expr symmetrizedTrace (TraceIndices const &trace) const
 
void mergeTraces (std::vector< TraceIndices > &traces) const
 
bool contractCloseIndices (TraceIndices &indices, csl::Expr const &CR, csl::Expr const &CA) const
 
std::vector< TraceIndicescommuteTo (TraceIndices const &indices, size_t init, size_t targetPos) const
 
std::vector< TraceIndicescontractFarIndices (TraceIndices const &indices, csl::Expr const &CR, csl::Expr const &CA) const
 
std::vector< TraceIndicescontractStructureConstants (TraceIndices const &indices, csl::Expr const &CR, csl::Expr const &CA) const
 
bool applyModifier (std::vector< TraceIndices > &indices, Modifier const &f) const
 
bool contractFarIndices (std::vector< TraceIndices > &indices, csl::Expr const &CR, csl::Expr const &CA) const
 
bool contractStructureConstants (std::vector< TraceIndices > &indices, csl::Expr const &CR, csl::Expr const &CA) const
 
std::vector< TraceIndicescontractIndices (std::vector< csl::Index > const &indices, mty::Irrep const &irrep) const
 
csl::Tensor getF () const
 
csl::Tensor getD (size_t p) const
 
csl::Tensor getDTilde () const
 
- Public Member Functions inherited from csl::Space
 Space (const std::string &t_name, int t_dim, std::vector< std::string > const &indexNames={"i", "j", "k", "l"})
 
 Space (const std::string &t_name, int t_dim, const std::string &name_metric, const Expr &t_metric, std::vector< std::string > const &indexNames={"i", "j", "k", "l"})
 
int getDim () const
 
bool getSignedIndex () const
 
Index generateIndex (const std::string &name) const
 
Index generateIndex () const
 
Expr generateVector (const std::string &t_name) const
 

Private Member Functions

std::vector< csl::IndexexprToIndices (std::vector< csl::Expr > const &tensors) const
 
std::tuple< csl::Index, csl::Index, int > getFreeIndices (const csl::Expr &tensorA, const csl::Expr &tensorB) const
 
std::tuple< csl::Index, csl::Index, int > getFreeIndicesAdjoint (const csl::Expr &tensorA, const csl::Expr &tensorB) const
 

Private Attributes

const mty::SemiSimpleGroupgroup
 
const mty::SemiSimpleAlgebraalgebra
 

Additional Inherited Members

- Protected Attributes inherited from csl::Space
std::string name
 
int dim
 
bool signedIndex
 
Tensor delta
 
Tensor metric
 

Detailed Description

Class inherited from csl::Space that is used for vector spaces of group representations, in particular for generators.


The documentation for this class was generated from the following files: