Copyright | (c) Stéphane Laurent 2024 |
---|---|
License | GPL-3 |
Maintainer | laurent_step@outlook.fr |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
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
- isSymmetricSpray :: (C a, Eq a) => Spray a -> Bool
- msPolynomial :: (C a, Eq a) => Int -> Partition -> Spray a
- msCombination :: C a => Spray a -> Map Partition a
- prettySymmetricNumSpray :: (Num a, Ord a, Show a, C a) => Spray a -> String
- prettySymmetricQSpray :: QSpray -> String
- prettySymmetricQSpray' :: QSpray' -> String
- prettySymmetricOneParameterQSpray :: String -> OneParameterQSpray -> String
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
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]
prettySymmetricQSpray' :: QSpray' -> String Source #
Same as prettySymmetricQSpray
but for a QSpray'
symmetric spray
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]