Welcome to jackpolynomials’s documentation!

This library allows to get the Jack polynomials in symbolic form. Schur polynomials and zonal polynomials are particular cases of the Jack polynomials. Schur polynomials appear in combinatorics. Zonal polynomials have applications in statistics, and they appear in the hypergeometric functions of a matrix argument.

As of version 0.1.0.9000, it is possible to get a Jack polynomial with a symbolic Jack parameter in its coefficients.

Indices and tables

Members functions

jackpy.jack.JackPol(n, kappa, alpha, which='J')

Jack polynomial of an integer partition, with given Jack parameter.

Parameters:
  • n (int) – Positive integer, the number of variables of the polynomial.

  • kappa (list of integers) – An integer partition given as a list of decreasing integers. Trailing zeros are dropped.

  • alpha (number) – A positive number, the parameter of the Jack polynomial.

  • which (character) – Which Jack polynomial, either ‘J’, ‘C’, ‘P’ or ‘Q’.

Returns:

The Jack polynomial of kappa in n variables x_1, …, x_n, with Jack parameter alpha. The type of its coefficients depends on the type of alpha.

Return type:

Poly

Examples

>>> from gmpy2 import mpq
>>> from jackpy.jack import JackPol
>>>
>>> poly = JackPol(3, [2, 1], alpha = mpq(3, 2))
>>> print(poly)
Poly(7/2*x_1**2*x_2 + 7/2*x_1**2*x_3 + 7/2*x_1*x_2**2 + 6*x_1*x_2*x_3
+ 7/2*x_1*x_3**2 + 7/2*x_2**2*x_3 + 7/2*x_2*x_3**2, x_1, x_2, x3, domain='QQ')
jackpy.jack.JackSymbolicPol(n, kappa, which='J')

Jack polynomial of an integer partition, with symbolic Jack parameter.

Parameters:
  • n (int) – Positive integer, the number of variables of the polynomial.

  • kappa (list of integers) – An integer partition given as a list of decreasing integers. Trailing zeros are dropped.

  • which (character) – Which Jack polynomial, either ‘J’, ‘C’, ‘P’ or ‘Q’.

Returns:

The Jack polynomial of kappa in n variables x_1, …, x_n, with symbolic Jack parameter denoted by alpha. The domain of this polynomial is ‘QQ(alpha)’.

Return type:

Poly

Examples

>>> from jackpy.jack import JackSymbolicPol
>>>
>>> poly = JackSymbolicPol(2, [2, 1])
>>> print(poly)
Poly((alpha + 2)*x_1**2*x_2 + (alpha + 2)*x_1*x_2**2, x_1, x_2, domain='QQ(alpha)')
jackpy.jack.SchurPol(n, kappa)

Schur polynomial of an integer partition.

Parameters:
  • n (int) – Positive integer, the number of variables of the polynomial.

  • kappa (list of integers) – An integer partition given as a list of decreasing integers. Trailing zeros are dropped.

Returns:

The Schur polynomial of kappa in n variables x_1, …, x_n, with integer coefficents.

Return type:

Poly

Examples

>>> from jackpy.jack import SchurPol
>>> p = SchurPol(2, [2, 1])
>>> print(p)
Poly(x_1*x_2**2 + x_1**2*x_2, x_1, x_2, domain='ZZ')
>>> y = p.eval({x_1: 1, x_2: 1})
>>> print(y)
2
jackpy.jack.ZonalPol(n, kappa)

Zonal polynomial of an integer partition. This is the Jack C-polynomial of this integer partition with parameter alpha = 2.

Parameters:
  • n (int) – Positive integer, the number of variables of the polynomial.

  • kappa (list of integers) – An integer partition given as a list of decreasing integers. Trailing zeros are dropped.

Returns:

The zonal polynomial of kappa in n variables x_1, …, x_n, with rational coefficients.

Return type:

Poly

jackpy.jack.ZonalQPol(n, kappa)

Quaternionic zonal polynomial of an integer partition. This is the Jack C-polynomial of the integer partition with parameter alpha = 1/2.

Parameters:
  • n (int) – Positive integer, the number of variables of the polynomial.

  • kappa (list of integers) – An integer partition given as a list of decreasing integers. Trailing zeros are dropped.

Returns:

The quaternionic zonal polynomial of kappa in n variables x_1, …, x_n, with rational coefficients.

Return type:

Poly

jackpy.monomial_symmetric_polynomials.monomial_symmetric_polynomial(n, kappa)

Monomial symmetric polynomial.

Parameters:
  • n (int) – Positive integer, the number of variables of the polynomial.

  • kappa (list of integers) – An integer partition given as a list of decreasing integers. Trailing zeros are dropped.

Returns:

The monomial symmetric polynomial corresponding to kappa in n variables x_1, …, x_n, with integer coefficients.

Return type:

Poly

jackpy.monomial_symmetric_polynomials.msp_combination(poly)

Symmetric polynomial as a linear combination of some monomial symmetric polynomials.

Parameters:

p (Poly) – Polynomial. It must be symmetric, otherwise the output of this function makes no sense.

Returns:

A dictionary representing the linear combination. A key represents the integer partition of a monomial symmetric polynomial, and the value attached to this key is the coefficient of this monomial symmetric polynomial.

Return type:

dict

jackpy.monomial_symmetric_polynomials.msp_combination_expr(poly)

Symmetric polynomial as a linear combination of some monomial symmetric polynomials.

Parameters:

p (Poly) – Polynomial. It must be symmetric, otherwise the output of this function makes no sense.

Returns:

An expression representing the linear combination. The monomial symmetric polynomials are represented by symbols, e.g. the monomial symmetric polynomial of the integer partition (3,2,1) is represented by the symbol M[3;2;1].

Return type:

expression

References

  • I.G. Macdonald. Symmetric Functions and Hall Polynomials. Oxford Mathematical Monographs. The Clarendon Press Oxford University Press, New York, second edition, 1995.

    1. Demmel and P. Koev. Accurate and efficient evaluation of Schur and Jack functions. Mathematics of computations, vol. 75, n. 253, 223-229, 2005.

  • Jack polynomials. <https://www.symmetricfunctions.com/jack.htm>.