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

Algebra (R, +) of the U(1) group. More...

#include <semiSimpleAlgebra.h>

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

Public Member Functions

 R ()
 Default constructor.
 
 ~R ()
 Destructor.
 
algebra::Type getType () const override
 Pure virtual function overriden in derived classes. More...
 
void setCartanMatrix () override
 Overrides the function of mty::SemiSimpleAlgebra and does nothing (no Cartan matrix).
 
void setSquaredNorm () override
 Overrides the function of mty::SemiSimpleAlgebra and does nothing (no root).
 
mty::Irrep highestWeightRep (const mty::AlgebraState &highestWeight, bool mult=true) const override
 Creates a representation from an AlgebraState containing only the numerator and the denominator of the U(1) charge. More...
 
mty::Irrep highestWeightRep (const std::vector< int > &highestWeight, bool mult=true) const override
 Creates a representation from a std::vector of int containing only the numerator and the denominator of the U(1) charge. More...
 
mty::Irrep getTrivialRep () const override
 
mty::SumIrrep tensorProduct (const mty::Irrep &A, const mty::Irrep &B, bool mult=true) const override
 
void sortRep (std::vector< mty::AlgebraState > &rep, std::vector< int > &mult) const override
 Sorts the different states of the rep. More...
 
csl::Expr getEta () 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 getDefiningRep () const
 
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
 
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

Algebra (R, +) of the U(1) group.

This particular algebra has a different treatment as the other semi-simple algebras and reimplements some of the main functions. R needs only one charge (possibly fractionnal) to fully describe a representation. No need then for the cartan formalism. A representation is then represented by a two-labels AlgebraState. The first label corresponds to the charge's numerator, and the second corresponds to the denominator.

Member Function Documentation

◆ getTrivialRep()

mty::Irrep R::getTrivialRep ( ) const
overridevirtual
Returns
The trivial rep: charge 0.

Reimplemented from mty::SemiSimpleAlgebra.

◆ getType()

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

Pure virtual function overriden in derived classes.

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

Implements mty::SemiSimpleAlgebra.

◆ highestWeightRep() [1/2]

mty::Irrep R::highestWeightRep ( const mty::AlgebraState highestWeight,
bool  mult = true 
) const
overridevirtual

Creates a representation from an AlgebraState containing only the numerator and the denominator of the U(1) charge.

Returns
The U(1) Irrep with the right charge.

Reimplemented from mty::SemiSimpleAlgebra.

◆ highestWeightRep() [2/2]

mty::Irrep R::highestWeightRep ( const std::vector< int > &  highestWeight,
bool  mult = true 
) const
overridevirtual

Creates a representation from a std::vector of int containing only the numerator and the denominator of the U(1) charge.

Returns
The U(1) Irrep with the right charge.

Reimplemented from mty::SemiSimpleAlgebra.

◆ sortRep()

void R::sortRep ( std::vector< mty::AlgebraState > &  rep,
std::vector< int > &  mult 
) const
overridevirtual

Sorts the different states of the rep.

Sorts the different states by increasing value of charge.

Parameters
repstd::vector of AlgebraState to sort (modified).
multmultiplicities of the states sorted the same way (modified).

Reimplemented from mty::SemiSimpleAlgebra.

◆ tensorProduct()

mty::SumIrrep R::tensorProduct ( const mty::Irrep A,
const mty::Irrep B,
bool  mult = true 
) const
overridevirtual
Parameters
AFirst Irrep in the product.
BSecond Irrep in the procut.
Returns
The tensor procuct of the two Irrep, i.e. another U(1) rep whose charge is the sum of those of A and B, embedded in a SumIrrep of one term.

Reimplemented from mty::SemiSimpleAlgebra.


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