pysymmpol.utils package

Submodules

pysymmpol.utils.inner module

pysymmpol.utils.inner._accel_asc(n)[source]

This fast algorithm to generate integer partitions is the heart of this project.

The author of this beauty is Jerome Kelleher, and He argues that it is the fasted algorithm available nowadays. See more here: https://jeromekelleher.net/category/combinatorics.html

pysymmpol.utils.inner._conjugate(p)[source]

Find the conjugate of a partition. E.g. len(p) = max(conjugate(p)) and vice versa.

See more here: https://www.ics.uci.edu/~eppstein/PADS/IntegerPartitions.py

This algorithm is good for tests, but my algorithm is better than this one. Partitions that have zeros at the end give wrong results. For example, the self dual partition (2,1,0,0,0) gives the conjugate (5,1).

pysymmpol.utils.inner._power_sum(x: tuple, j: int)[source]

This is the calculation of power sums. In order to calculate the Newton polynomial P_j(

ec{x}).

These objects are equivalent to ‘j*t_j’ where t_j are the Miwa coordinates.

pysymmpol.utils.tools module

pysymmpol.utils.tools.character(young_diagram: YoungDiagram, vector: ConjugacyClass)[source]

Characters of the symmetric group using the Frobenius Character Formula.

pysymmpol.utils.tools.create_miwa(n: int) dict[source]

This function creates the appropriate Miwa coordinates as a dictionary.

pysymmpol.utils.tools.create_x_coord(m) tuple[source]

This function creates the x coordinates as a tuple.

pysymmpol.utils.tools.newton_polynomial(x: tuple, vector: ConjugacyClass)[source]

Function to calculate the Newton polynomials.

pysymmpol.utils.tools.partitions_of(n: int) int[source]

Function that returns the number of partitions of a given integer.

pysymmpol.utils.tools.tx_power_sum(n: int, m: int = 1) tuple[source]

This function creates the power sum. The integer n is the length of the Miwa coordinates. The integer m is the length of the x coordinates.

pysymmpol.utils.tools.vandermonde(x: tuple)[source]

Function to calculate the Vandermonde polynomial.

Module contents