jackpolynomials-1.2.1.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 which can be considerably reduced if the polynomial is written in the basis formed by the monomial symmetric polynomials instead. 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 and it 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]

prettySymmetricSymbolicQSpray :: String -> SymbolicQSpray -> String Source #

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

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