Documentation of MARTY
A Modern ARtificial Theoretical phYsicist
Public Member Functions
mty::algebra::A Class Reference

Semi-simple Lie algebra A(l) == su(l+1). More...

#include <semiSimpleAlgebra.h>

Inheritance diagram for mty::algebra::A:
[legend]

Public Member Functions

 A (int t_l)
 Constructor with one parameter. More...
 
 ~A ()
 Destructor.
 
algebra::Type getType () const override
 Pure virtual function overriden in derived classes. More...
 
void setCartanMatrix () override
 Pure virtual function overriden in derived classes. Initializes the Cartan matrix specifically to the given semi-simple Lie algebra.
 
void setSquaredNorm () override
 Pure virtual function overriden in derived classes. Initializes norms of simple roots specifically to the given semi-simple Lie algebra.
 
csl::Expr getEta () const override
 
mty::Irrep getDefiningRep () const override
 
- Public Member Functions inherited from mty::SemiSimpleAlgebra
 SemiSimpleAlgebra (int t_l)
 Constructor with one parameter. More...
 
virtual ~SemiSimpleAlgebra ()
 Destructor.
 
csl::Expr getQuadraticCasimir (const AlgebraState &irrep) const
 Returns the expression (symbolic, rational number) of the quadratic Casimir operator for a representation. More...
 
virtual csl::Expr getIndex (const Irrep &irrep, size_t n) const
 
virtual Irrep highestWeightRep (const AlgebraState &highestWeight, bool mult=true) const
 Calculates and returns the highest weight representation. Determines all states with their multiplicities and returns the corresponding Irrep object. Overriden in R algebra. More...
 
virtual Irrep highestWeightRep (const std::vector< int > &highestWeight, bool mult=true) const
 Calculates and returns the highest weight representation. Determines all states with their multiplicities and returns the corresponding Irrep object. Overriden in R algebra. More...
 
virtual Irrep getTrivialRep () const
 Returns the trivial representation of the algebra. Overriden in R algebra. More...
 
virtual SumIrrep tensorProduct (const Irrep &A, const Irrep &B, bool mult=true) const
 Calculates and returns the product of two Irrep in the algebra. The result is decomposed in a sum of irreducible representations, stored in a SumIrrep. Overriden in the R algebra. More...
 
virtual SumIrrep tensorProduct (const SumIrrep &A, const Irrep &B, bool mult=true) const
 
virtual SumIrrep tensorProduct (const Irrep &A, const SumIrrep &B, bool mult=true) const
 
SumIrrep tensorProduct (const SumIrrep &A, const SumIrrep &B, bool mult=true) const
 
virtual void sortRep (std::vector< AlgebraState > &rep, std::vector< int > &mult) const
 Sorts by modifing input paramaters a set of AlgebraState with their multiplicities. One state is considered "bigger" than another if the sum of its dinkin labels is bigger. Overriden in the R algebra. More...
 
int getOrderL () const
 Returns the order of the algebra, i.e. the number of simple roots l. More...
 

Additional Inherited Members

- Protected Member Functions inherited from mty::SemiSimpleAlgebra
void init ()
 Initialization function called in derived classes to initialize the cartan matrix, the Weyl group and the norms of simple roots.
 
- Protected Attributes inherited from mty::SemiSimpleAlgebra
const int l
 Order of the semi-simple algebra, i.e. number of simple roots.
 
std::vector< int > rho
 std::vector of size l. Particular root (half-sum of simple roots) useful in calculations. More...
 
csl::vector_expr absoluteNorms
 Absolute norms of simple roots used in the computation of the quadratic Casimir operator. See SemiSimpleAlgebra::getQuadraticCasimir().
 
std::vector< int > squaredNorm
 std::vector of integers of size l. Contains squared norms of all simple roots.
 
std::vector< std::vector< int > > positiveRoots
 Contains all positive roots in a std::vector. Each positive root is a std::vector of integers of size l: dinkin labels in co-root space.
 
std::vector< std::vector< int > > cartanMatrix
 Cartan matrix of the algebra.
 
std::vector< std::vector< int > > rootMetric
 Metric for roots in co-root space, i.e. metrix to apply in order to compute scalar dot between roots expressed with their dinkin labels.
 
csl::Expr symbolicRho
 Symbolic version of the half-sum of simple roots (see positiveRoots). Contains the factor 1/2 that positiveRoots does not.
 
csl::Expr symbolicCartan
 Symbolic version of the cartan matrix.
 
csl::Expr inverseCartan
 Inverse cartan matrix.
 
csl::Expr symbolicMetric
 Symbolic metric in root space. i.e. different from rootMetric that is the metric in co-root space.
 
csl::vector_expr symbolicRoots
 Symbolic version of positiveRoots, each root is a csl::Vector of csl::Integer in co-root space (dinkin labels).
 
csl::vector_expr symbolicSquaredNorms
 Symbolic version of squaredNorm.
 
std::vector< std::pair< AlgebraState, Irrep > > irreps
 
std::vector< IndexDataindices
 

Detailed Description

Semi-simple Lie algebra A(l) == su(l+1).

Constructor & Destructor Documentation

◆ A()

A::A ( int  t_l)
explicit

Constructor with one parameter.

Parameters
t_lInitializes the order l of the algebra. Generates su(l+1).

Member Function Documentation

◆ getType()

mty::algebra::Type A::getType ( ) const
overridevirtual

Pure virtual function overriden in derived classes.

Returns
The type of the algebra, see the enum algebra::Type.

Implements mty::SemiSimpleAlgebra.


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