Contains a sum of Irrep (irreducible representation) of a given SemiSimpleAlgebra. More...
#include <representation.h>
Public Member Functions | |
| SumIrrep () | |
| Default constructor. Initializes an empty SumIrrep. | |
| SumIrrep (const std::vector< Irrep > &t_irrep) | |
| Constructor with one parameter. More... | |
| SumIrrep (const Irrep &other) | |
| Constructor with one parameter. More... | |
| ~SumIrrep () | |
| Destructor. | |
| int | getDim () const |
| Calculates and returns the total dimension of the SumIrrep, i.e. the sum of the dimensions of all representations in the sum. More... | |
| const SemiSimpleAlgebra * | getAlgebra () const |
| void | insertSort (const Irrep &other) |
| Inserts a new Irrep in the sum, sorting by dimension (lower dimensions first). More... | |
| SumIrrep | operator+ (const Irrep &other) const |
| Implements the sum of the SumIrrep with an Irrep (other), stores it in a SumIrrep and returns it. More... | |
| SumIrrep | operator+ (const SumIrrep &other) const |
| Implements the sum of the SumIrrep with a SumIrrep (other), stores it in a SumIrrep and returns it. More... | |
| SumIrrep | operator* (const Irrep &other) const |
| Calculates and returns the product of ***this** and other in the form of a sum of irreducible representations. More... | |
| SumIrrep | operator* (const SumIrrep &other) const |
| Calculates and returns the product of ***this** and other in the form of a sum of irreducible representations. More... | |
Protected Attributes | |
| const SemiSimpleAlgebra * | algebra |
| Pointer to the algebra from which the Irreps in the sum are irreducible representations. | |
Friends | |
| std::ostream & | operator<< (std::ostream &fout, const SumIrrep &s) |
| Overload of the operator<< for SumIrrep. Displays the total dimension and all dimensions of Irrep in the Sum. More... | |
Contains a sum of Irrep (irreducible representation) of a given SemiSimpleAlgebra.
This class is a containor of a set of irreducible representations, Irrep objects, result of the decomposition of a tensor product of different Irrep. An example in \( SU(2)\):
\[2 \times 2 = 1 \oplus 3\]
, \(1 \oplus 3\) is a SumIrrep of size 2, containing the trivial representation of dimension 1, and the triplet. This class keeps its different Irrep sorted by increasing dimension at all time in order to respect usual conventions to display them.
|
explicit |
Constructor with one parameter.
| t_irrep | std::vector of Irrep in the sum. |
|
explicit |
Constructor with one parameter.
| other | First (and unique for now) representation in the sum. |
| const SemiSimpleAlgebra * mty::SumIrrep::getAlgebra | ( | ) | const |
| int mty::SumIrrep::getDim | ( | ) | const |
| void mty::SumIrrep::insertSort | ( | const Irrep & | other | ) |
Calculates and returns the product of ***this** and other in the form of a sum of irreducible representations.
The product is exanded the same way as Irrep::operator*(SumIrrep const& other) to yield a direct sum of Irrep, stored in a new SumIrrep that is returned.
| other | Right operand in the product of representation. |
Calculates and returns the product of ***this** and other in the form of a sum of irreducible representations.
The product is exanded the same way as Irrep::operator*(SumIrrep const& other) to yield a direct sum of Irrep, stored in a new SumIrrep that is returned. For example,
\[ (2\oplus 2) \times (1\oplus 3) = (2\times 1)\oplus (2\times 3)\oplus (2\times 1) \oplus (2\times 3) = 1\oplus 1\oplus 2\oplus 2\oplus 4\oplus 4.\]
| other | Right operand in the product of representation. |
Implements the sum of the SumIrrep with a SumIrrep (other), stores it in a SumIrrep and returns it.
The two lists of Irrep objects are simply merged in a new SumIrrep and sorted. The total dimension of the result is the sum of the two operands' dimensions.
| other | Second operand in the sum. |
|
friend |
1.8.13