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 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
- 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
- prettySymmetricSymbolicQSpray :: String -> SymbolicQSpray -> 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 and it 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
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]