|
| | 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 Irrep | getDefiningRep () const |
| |
| 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...
|
| |
| virtual algebra::Type | getType () const =0 |
| | Pure virtual function overriden in derived classes. More...
|
| |
|
|
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< IndexData > | indices |
| |
|
| bool | isOnWall (const AlgebraState &state) const |
| | Checks if a state is on a wall of the root lattice, i.e. if one of the coefficients if the simple roots basis (one of the dinkin labels) is zero. More...
|
| |
| AlgebraState | toDominantWeylChamber (const AlgebraState &state, int &sign) const |
| | Reflects a given state in the dominant Weyl chamber. More...
|
| |
| std::vector< int > | weylReflection (int simpleRoot, const std::vector< int > &root) const |
| | Reflects a root with respect to one simple root. More...
|
| |
| AlgebraState | weylReflection (int simpleRoot, const AlgebraState &state) const |
| | Reflects a state with respect to one simple root. More...
|
| |
| std::vector< int > | weylReflection (int simpleRoot1, int simpleRoot2) const |
| | Reflects a simple root with respect to another. More...
|
| |
| void | invertCartanMatrix () |
| | Inverts the Cartan matrix using csl's matrix inversion and stores it in the member \b inverseCartan. More...
|
| |
| void | generateWeylGroup () |
| | Generates the Weyl group of reflection from the simple roots. More...
|
| |
| csl::Expr | convertState (const AlgebraState &state) const |
| | Converts a state in co-root space (AlgebraState with dinkin labels) into an expression (csl csl::Expr), Vector of coefficients in root space. More...
|
| |
| bool | comparatorHighest (const AlgebraState &A, const AlgebraState &B) const |
| | Compares two AlgebraState. More...
|
| |
| csl::Expr | computeScalarDot (const csl::Expr &rootA, const csl::Expr &rootB) const |
| | Computes the scalar dot of two roots in root-space. More...
|
| |
| csl::Expr | computeSquaredNorm (const csl::Expr &root) const |
| | Computes the squared norm of a root, see computeScalarDot(). More...
|
| |
| AlgebraState | applyAnnihilationOperator (int annihilator, const AlgebraState &state) const |
| | Applies the annihilation operator of a simple root on an AlgebraState and returns the resulting AlgebraState. More...
|
| |
| AlgebraState | applyAnnihilationOperator (const std::vector< int > &root, const AlgebraState &state) const |
| | Applies the annihilation operator of a root on an AlgebraState and returns the resulting AlgebraState. More...
|
| |
| AlgebraState | applyCreationOperator (int creator, const AlgebraState &state) const |
| | Applies the creation operator of a simple root on an AlgebraState and returns the resulting AlgebraState. More...
|
| |
| AlgebraState | applyCreationOperator (const std::vector< int > &root, const AlgebraState &state) const |
| | Applies the creation operator of a root on an AlgebraState and returns the resulting AlgebraState. More...
|
| |
| std::vector< AlgebraState > | getSingleChain (const AlgebraState &state, int direction) const |
| | Calculates the root chain starting from states and applying annihilation operator of the simple root number
direction. More...
|
| |
|
void | getSingleChainExperimental (const AlgebraState &state, std::vector< AlgebraState > &states, std::vector< std::vector< bool >> &directionExplored, int direction) const |
| |
| std::vector< AlgebraState > | getRootChain (const AlgebraState &highestWeightState, std::vector< AlgebraState > states=std::vector< AlgebraState >(0), std::vector< std::vector< bool > > directions=std::vector< std::vector< bool > >(0)) const |
| | Computes the complete root chain (with all simple roots) starting from a highest weight highestWeightState. More...
|
| |
|
void | getRootChainExperimental (const AlgebraState &highestWeightState, std::vector< AlgebraState > &states, std::vector< std::vector< bool > > &directions) const |
| |
| void | computeMultiplicity (std::vector< int > &multiplicities, const std::vector< AlgebraState > &rep, const AlgebraState &state) const |
| | Computes the multiplicity of the state state. More...
|
| |
| std::vector< int > | multiplicities (std::vector< AlgebraState > &rep) const |
| | Compute the multiplicities of the states in rep, where rep is a complete set of AlgebraState. More...
|
| |
Abstract base class for all semi-simple Lie algebras.
This class implements almost all calculations (getting representation from highest weight, product of representations...) except the initialization of the cartan matrix and the norms of simple roots, that is overriden in derived classes, specializations of semi simple Lie algebras.
Returns the expression (symbolic, rational number) of the quadratic Casimir operator for a representation.
The AlgebraState irrep must be the highest-weight state of the representation from which we want to compute the Casimir. The quadratic Casimir is defined from the generators of the representation \( T^A(\mathcal{R}) \) by
\[ \mbox{Tr}(T(\mathcal{R})^AT(\mathcal{R})^B) \equiv C_2(\mathcal{R}) \delta ^{AB}. \]
Its expression in terms of the highest weight is
\[ C_2 = \sum _{i, j}\mathcal{N}_i\cdot (a_i+2)G_{ij}a_j, \]
with \( a_i \) dynkin labels of the highest weight state, \( G_{ij} \) the inverse Cartan matrix, and \( \mathcal{N}_i \) a normalization factor coming from the absolute norm of the simple root \( i \).
- Parameters
-
| irrep | Highest weight state of the representation from which we want the Casimir. |
- Returns
- The symbolic expression of the Casimir, a rational number.
Calculates the root chain starting from states and applying annihilation operator of the simple root number
direction.
If the eigenvalue of state wrt the simple root number direction is E, we apply the annihilation until we get a state of eigenvalue -E. We have then set of states of eigenvalues (for a sl(2,C) module): { E, E-2, E-4, ..., -E }.
- Parameters
-
| state | Initial state (highest weight) of the chain. |
| direction | Number of the simple root applied in chain. |
- Returns
- The set of generated AlgebraState in the chain in a std::vector.
Reflects a given state in the dominant Weyl chamber.
The dominant Weyl chamber is the space where all states are positive states (see isPositiveWeight()). This function returns the (only) state in the dominant Weyl chamber that is equivalent to state to a Weyl reflection, i.e. to the application of an element of the Weyl group. If the state is positive, it is itself, else the function operates a series of Weyl reflections until it finds the corresponding positive state. The sign of the Transformation is one if the number of reflections linking the two states is even, -1 else. The sign is stored in sign during the run of the function.
- Parameters
-
| state | Initial AlgebraState. |
| sign | Integer modified during the run, stores the sign of the Transformation. |
- Returns
- A new AlgebraState, reflection of state in the dominant Weyl chamber.