jackpolynomials-1.2.2.0: Jack, zonal, Schur and skew Schur polynomials
Copyright(c) Stéphane Laurent 2024
LicenseGPL-3
Maintainerlaurent_step@outlook.fr
Safe HaskellSafe-Inferred
LanguageHaskell2010

Math.Algebra.Jack.SymmetricPolynomials

Description

A Jack polynomial can have a very long expression in the canonical basis. A considerably shorter expression is obtained by writing the polynomial as a linear combination of the monomial symmetric polynomials instead, which is always possible since Jack polynomials are symmetric. This is the motivation of this module.

Synopsis

Documentation

isSymmetricSpray :: (C a, Eq a) => Spray a -> Bool Source #

Checks whether a spray defines a symmetric polynomial; this is useless for Jack polynomials because they always are symmetric, but this module contains everything needed to build this function which can be useful in another context

msPolynomial Source #

Arguments

:: (C a, Eq a) 
=> Int

number of variables

-> Partition

integer partition

-> Spray a 

Monomial symmetric polynomials

>>> putStrLn $ prettySpray' (msPolynomial 3 [2, 1])
(1) x1^2.x2 + (1) x1^2.x3 + (1) x1.x2^2 + (1) x1.x3^2 + (1) x2^2.x3 + (1) x2.x3^2

msCombination :: C a => Spray a -> Map Partition a Source #

Symmetric polynomial as a linear combination of monomial symmetric polynomials

prettySymmetricNumSpray :: (Num a, Ord a, Show a, C a) => Spray a -> String Source #

Prints a symmetric spray as a linear combination of monomial symmetric polynomials

>>> putStrLn $ prettySymmetricNumSpray $ schurPol' 3 [3, 1, 1]
M[3,1,1] + M[2,2,1]

prettySymmetricQSpray :: QSpray -> String Source #

Prints a symmetric spray as a linear combination of monomial symmetric polynomials

>>> putStrLn $ prettySymmetricQSpray $ jackPol' 3 [3, 1, 1] 2 'J'
42*M[3,1,1] + 28*M[2,2,1]

prettySymmetricOneParameterQSpray :: String -> OneParameterQSpray -> String Source #

Prints a symmetric one-parameter spray as a linear combination of monomial symmetric polynomials

>>> putStrLn $ prettySymmetricOneParameterQSpray "a" $ jackSymbolicPol' 3 [3, 1, 1] 'J'
{ 4*a^2 + 10*a + 6 }*M[3,1,1] + { 8*a + 12 }*M[2,2,1]