PySymmPol: Symmetric Polynomials in Python

PySymmPol is a Python package designed for efficient manipulation of symmetric polynomials. It provides functionalities for working with various types of symmetric polynomials, including elementary, homogeneous, monomial symmetric, (skew-) Schur, and Hall-Littlewood polynomials. In addition to polynomial operations, PySymmPol offers tools to explore key properties of integer partitions and Young diagrams, such as transposition, Frobenius coordinates, characters of symmetric groups and others.


Statement of need
Symmetric polynomials play a crucial role across various domains of mathematics and theoretical physics due to their rich structure and broad applications.They arise naturally in combinatorics (Macdonald, 1998), representation theory (Fulton & Harris, 2004), algebraic geometry, and mathematical physics (Babelon et al., 2003;Wheeler, 2010).These polynomials encode essential information about symmetries and patterns, making them indispensable in the study of symmetric functions and their connections to diverse mathematical structures.Moreover, symmetric polynomials find extensive applications in theoretical physics, particularly in quantum mechanics, statistical mechanics, and quantum field theory.Their utility extends to areas such as algebraic combinatorics, where they serve as powerful tools for solving combinatorial problems and understanding intricate relationships between different mathematical objects.Thus, tools and libraries like PySymmPol provide researchers and practitioners with efficient means to explore and manipulate symmetric polynomials, facilitating advancements in both theoretical studies and practical applications.

Core features and functionalities
PySymmPol is composed of several modules in two main packages.

Partitions 2. Polynomials
Our keen interest in exploring these representations stems from their relevance in the realm of two-dimensional Integrable and Conformal Field Theories, see (Babelon et al., 2003;Marino, 2005;Okounkov, 2006) for a small sample of physical problems that require tools to manipulate these (and others) combinatorics objects.In this context, bosonic states are labeled by conjugacy class vectors, highlighting the importance of understanding and manipulating such representations.Conversely, fermions are represented using the standard representation, emphasizing the need to bridge the conceptual gap between these distinct frameworks.Investigating these representations not only sheds light on the fundamental properties of fermion states within CFTs but also provides valuable insights for theoretical developments in quantum field theory and related fields.
Further details on the other functionalities can be found in the tutorial.The ACCELASC algorithm (Kelleher & O'Sullivan, 2009) greatly improved the speed of the methods associated to these calculations.
One of the main goals of the package is to provide the definitions of the polynomials in terms of the Miwa coordinates, or power sums, where ⃗  = ( 1 , … ,   ) and t = ( 1 ,  2 , … ).

State of the Field and Target Audience
To the best of the author's knowledge, there are few open-source software solutions dedicated to similar problems, with SageMath (The Sage Developers, 2022) standing out as a notable exception.While there are overlaps between the problems addressed and some implementations available in SageMath, significant differences exist.One prominent dissimilarity is that SageMath constitutes a collection of open-source mathematical software, whereas PySymmPol is a Python package.A notable characteristic of PySymmPol is its utilization of power sums and its Pythonic nature, which minimizes dependencies.
Furthermore, implementations in SageMath primarily emphasize applications in combinatorics.
Although the author extensively used SageMath, the development of PySymmPol stemmed from the need for a more physics-oriented software.For instance, it offers features such as the translation of standard notation of partitions (representing fermionic states in certain 2D field theories) and the conjugacy class notation of partitions (representing bosonic states).
Another significant distinction between our implementation and SageMath is the use of Miwa coordinates (or power sums) in the definitions.This aspect proves advantageous for physicists and mathematicians involved in statistical physics, quantum field theory, and integrable systems.