pysymmpol.polynomials package

Submodules

pysymmpol.polynomials.elementary module

class pysymmpol.polynomials.elementary.ElementaryPolynomial(level: int)[source]

Bases: object

A class that defines the elementary symmetric polynomials. Their implementation is built from the homogeneous polynimials. In particular, we use the relations: e_k(t) = (-1) h_k(-t)

explicit(t, pol: bool = False)[source]

This method gives the expansion of the elementary symmetric polynomials.

property level: int

Getter for the level.

pysymmpol.polynomials.hall module

class pysymmpol.polynomials.hall.HallLittlewoodPolynomial(young: YoungDiagram)[source]

Bases: object

Here is an implementation of the Hall-Littlewood polynomials.

_factor(partition, Q)[source]

Calculation of the multiplicative prefactor prod_{i >= 0} prod_{j=1}^{p(i)} frac{(1- Q)}{(1- Q^j)} This term does not depend on the coordinates (x).

_quotient(x, Q, i, j)[source]

Calculation of the terms inside the sum, prod_{i < j} frac{xi - Q xj}{xi - xj}. Observe that the denominator is the Vandermonde determinant.

_xproducts(x, partition)[source]

Calculation the products of the coordinates power the partition arms (or legs, if you prefer).

explicit(x: tuple, Q: object, pol: bool = False)[source]

Calculation of the Hall-Littlewood themselves.

pysymmpol.polynomials.homogeneous module

class pysymmpol.polynomials.homogeneous.HomogeneousPolynomial(level: int)[source]

Bases: object

A class that defines the complete homogeneous polynomials.

_states() tuple[source]

For this level, this method gives the conjugacy class states.

explicit(t: tuple, pol: bool = False)[source]

This method gives the expansion of the complete symmetric polynomials. It accepts a tuple, the Miwa coordinates, as argument, as well as boolean, that specifies if the result is a sympy polynomial.

property level: int

Getter for the level.

class pysymmpol.polynomials.homogeneous._Monomial(conjugacy_class: ConjugacyClass)[source]

Bases: object

Here we have a class to the calculation of the monomials necessary for the calculation of the Homogeneous Symmetric Polynomials. This is not related to the Monomial Symmetric Polynomials.

property _level: int

This function gives the level of the conjugacy class vector k, that is, the number given by sum_i i k_i for a given bosonic state k = (k_1, k_2, …). This corresponds to the number of boxes in the partition described by this conjugacy class vector.

_monomial(t: tuple)[source]

This function gives the monomial in the definition of the complete symmetric polynomials associated with a given conjugacy class vector k.

pysymmpol.polynomials.monomial module

class pysymmpol.polynomials.monomial.MonomialPolynomial(young: YoungDiagram)[source]

Bases: object

explicit(x: tuple, pol: bool = False)[source]

Determine the explicit expression for the Monomial Symmetric Polynomials.

property partition

Getter for the partition associated to this monomial.

pysymmpol.polynomials.schur module

class pysymmpol.polynomials.schur.SchurPolynomial(young: YoungDiagram)[source]

Bases: object

Implementations of the Schur polynomials. 1. We calculate these polynomials using the determinant of the Homogeneous polynomials. 2. We also calculate them using the characters. We use this second implementation to test our results.

_schur_characters(t: tuple, pol: bool = False)[source]

This method returts the Schur polynomial in terms of Miwa coordinates using the characters expansion. This method is slower, but it is used to test the implementation. It adds another safety layer to this code.

explicit(t: tuple, pol: bool = False, other_young: YoungDiagram = YoungDiagram(_partition=(0,)))[source]

Calculates the Schur polynomial in terms of Miwa coordinates using the determinant formula.

First argument is the set of Miwa coordinates. The second argument is a boolean to define the sympy polynomial. The third argument gives the skew Schur polynomials.

There is a method below, skew_schur, to make the calculation of skew-Schur polynomials more explicit.

skew_schur(t: tuple, other_young: YoungDiagram, pol: bool = False)[source]

This method returns the Skew Schur polynomials. It is a wrap of the explicit method.

Module contents