jackpolynomials: Jack, zonal, Schur and skew Schur polynomials

[ algebra, gpl, library, math ] [ Propose Tags ]

This library can evaluate Jack polynomials, zonal polynomials, Schur and skew Schur polynomials. It is also able to compute them in symbolic form.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 1.0.0.0, 1.0.0.1, 1.1.0.0, 1.1.0.1, 1.1.1.0, 1.1.2.0, 1.2.0.0, 1.2.1.0
Change log CHANGELOG.md
Dependencies array (>=0.5.4.0 && <0.6), base (>=4.7 && <5), combinat (>=0.2.10 && <0.3), containers (>=0.6.4.1 && <0.8), hspray (>=0.2.5.0 && <1), ilist (>=0.4.0.1 && <0.4.1), lens (>=5.0.1 && <5.3), numeric-prelude (>=0.4.4 && <0.5) [details]
License GPL-3.0-only
Copyright 2022 Stéphane Laurent
Author Stéphane Laurent
Maintainer laurent_step@outlook.fr
Category Math, Algebra
Home page https://github.com/stla/jackpolynomials#readme
Source repo head: git clone https://github.com/stla/jackpolynomials
Uploaded by stla at 2024-04-02T15:28:35Z
Distributions NixOS:1.1.1.0
Downloads 228 total (66 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2024-04-02 [all 1 reports]

Readme for jackpolynomials-1.2.0.0

[back to package description]

jackpolynomials

Jack, zonal, Schur and skew Schur polynomials.

Stack-lts Stack-nightly

Schur polynomials have applications in combinatorics and zonal polynomials have applications in multivariate statistics. They are particular cases of Jack polynomials. This package allows to evaluate these polynomials. It can also compute their symbolic form.


import Math.Algebra.Jack
jack' [1, 1] [3, 1] 2 'J'
-- 48 % 1
import Math.Algebra.JackPol
import Math.Algebra.Hspray
jp = jackPol' 2 [3, 1] 2 'J'
putStrLn $ prettySpray' jp
-- (18 % 1) x1^3x2 + (12 % 1) x1^2x2^2 + (18 % 1) x1x2^3
evalSpray jp [1, 1]
-- 48 % 1

As of version 1.2.0.0, it is possible to get Jack polynomials with a symbolic Jack parameter:

import Math.Algebra.JackSymbolicPol
import Math.Algebra.Hspray
jp = jackSymbolicPol' 2 [3, 1] 'J'
putStrLn $ prettySymbolicQSpray "a" jp
-- ((2) + (4)a + (2)a^2)*x1^3x2 + ((4) + (4)a)*x1^2x2^2 + ((2) + (4)a + (2)a^2)*x1x2^3
putStrLn $ prettySpray' $ evalSymbolicSpray jp 2
-- (18 % 1) x1^3x2 + (12 % 1) x1^2x2^2 + (18 % 1) x1x2^3

From the definition of Jack polynomials, as well as from their implementation in this package, the coefficients of the Jack polynomials are fractions of polynomials in the Jack parameter. However, in the above example, one can see that the coefficients of the Jack polynomial jp are polynomials in the Jack parameter a. This fact actually is always true for the \(J\)-Jack polynomials (not for \(C\), \(P\) and \(Q\)). This is a consequence of the Knop & Sahi combinatorial formula. But be aware that in spite of this fact, the coefficients of the polynomials returned by Haskell are fractions of polynomials (the type of these polynomials is SymbolicSpray, defined in the hspray package).

References

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

  • J. 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.