-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Jack, zonal, Schur and skew Schur polynomials -- -- This library can evaluate Jack polynomials, zonal polynomials, Schur -- and skew Schur polynomials. It is also able to compute them in -- symbolic form. @package jackpolynomials @version 1.4.1.0 -- | Evaluation of Jack polynomials, zonal polynomials, Schur polynomials -- and skew Schur polynomials. See README for examples and references. module Math.Algebra.Jack type Partition = [Int] -- | Evaluation of Jack polynomial jack' :: [Rational] -> Partition -> Rational -> Char -> Rational -- | Evaluation of zonal polynomial zonal' :: [Rational] -> Partition -> Rational -- | Evaluation of Schur polynomial schur' :: [Rational] -> Partition -> Rational -- | Evaluation of a skew Schur polynomial skewSchur' :: [Rational] -> Partition -> Partition -> Rational -- | Evaluation of Jack polynomial jack :: forall a. (Eq a, C a) => [a] -> Partition -> a -> Char -> a -- | Evaluation of zonal polynomial zonal :: (Eq a, C a) => [a] -> Partition -> a -- | Evaluation of Schur polynomial schur :: forall a. C a => [a] -> Partition -> a -- | Evaluation of a skew Schur polynomial skewSchur :: forall a. (Eq a, C a) => [a] -> Partition -> Partition -> a module Math.Algebra.Jack.HypergeoPQ -- | Inefficient hypergeometric function of a matrix argument (for testing -- purpose) hypergeoPQ :: (Eq a, C a) => Int -> [a] -> [a] -> [a] -> a -- | Computation of symbolic Jack polynomials, zonal polynomials, Schur -- polynomials and skew Schur polynomials. See README for examples and -- references. module Math.Algebra.JackPol -- | Symbolic Jack polynomial jackPol' :: Int -> Partition -> Rational -> Char -> Spray Rational -- | Symbolic zonal polynomial zonalPol' :: Int -> Partition -> Spray Rational -- | Symbolic Schur polynomial schurPol' :: Int -> Partition -> Spray Rational -- | Symbolic skew Schur polynomial skewSchurPol' :: Int -> Partition -> Partition -> Spray Rational -- | Symbolic Jack polynomial jackPol :: forall a. (Eq a, C a) => Int -> Partition -> a -> Char -> Spray a -- | Symbolic zonal polynomial zonalPol :: forall a. (Eq a, C a) => Int -> Partition -> Spray a -- | Symbolic Schur polynomial schurPol :: forall a. (Ord a, C a) => Int -> Partition -> Spray a -- | Symbolic skew Schur polynomial skewSchurPol :: forall a. (Ord a, C a) => Int -> Partition -> Partition -> Spray a -- | Computation of Jack polynomials with a symbolic Jack parameter. See -- README for examples and references. module Math.Algebra.JackSymbolicPol -- | Jack polynomial with symbolic Jack parameter jackSymbolicPol :: forall a. (Eq a, C a) => Int -> Partition -> Char -> ParametricSpray a -- | Jack polynomial with symbolic Jack parameter jackSymbolicPol' :: Int -> Partition -> Char -> ParametricQSpray -- | 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 initial motivation of this module. But now -- it contains more stuff dealing with symmetric polynomials. module Math.Algebra.SymmetricPolynomials -- | 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 isSymmetricSpray :: (C a, Eq a) => Spray a -> Bool -- | Monomial symmetric polynomial -- --
-- >>> 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 --msPolynomial :: (C a, Eq a) => Int -> Partition -> Spray a -- | Power sum polynomial -- --
-- >>> putStrLn $ prettyQSpray (psPolynomial 3 [2, 1]) -- x^3 + x^2.y + x^2.z + x.y^2 + x.z^2 + y^3 + y^2.z + y.z^2 + z^3 --psPolynomial :: (C a, Eq a) => Int -> Partition -> Spray a -- | Symmetric polynomial as a linear combination of monomial symmetric -- polynomials msCombination :: C a => Spray a -> Map Partition a -- | Symmetric polynomial as a linear combination of power sum polynomials. -- Symmetry is not checked. psCombination :: forall a. (Eq a, C a) => Spray a -> Map Partition a -- | Symmetric polynomial as a linear combination of power sum polynomials. -- Same as psCombination but with other constraints on the base -- ring of the spray. psCombination' :: forall a. (Eq a, C Rational a, C a) => Spray a -> Map Partition a -- | 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] --prettySymmetricNumSpray :: (Num a, Ord a, Show a, C a) => Spray a -> String -- | 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 -- | Same as prettySymmetricQSpray but for a QSpray' -- symmetric spray prettySymmetricQSpray' :: QSpray' -> String -- | Prints a symmetric parametric spray as a linear combination of -- monomial symmetric polynomials -- --
-- >>> putStrLn $ prettySymmetricParametricQSpray ["a"] $ jackSymbolicPol' 3 [3, 1, 1] 'J'
-- { [ 4*a^2 + 10*a + 6 ] }*M[3,1,1] + { [ 8*a + 12 ] }*M[2,2,1]
--
prettySymmetricParametricQSpray :: [String] -> ParametricQSpray -> String
-- | Laplace-Beltrami operator on the space of homogeneous symmetric
-- polynomials; neither symmetry and homogeneity are checked
laplaceBeltrami :: (Eq a, C a) => a -> Spray a -> Spray a
-- | Calogero-Sutherland operator on the space of homogeneous symmetric
-- polynomials; neither symmetry and homogeneity are checked
calogeroSutherland :: (Eq a, C a) => a -> Spray a -> Spray a
-- | Hall inner product with parameter. It makes sense only for symmetric
-- sprays, and the symmetry is not checked.
hallInnerProduct :: forall a. (Eq a, C a) => Spray a -> Spray a -> a -> a
-- | Hall inner product with parameter. Same as hallInnerProduct
-- but with other constraints on the base ring of the sprays.
hallInnerProduct' :: forall a. (Eq a, C Rational a, C a) => Spray a -> Spray a -> a -> a
-- | Hall inner product with parameter. Same as hallInnerProduct
-- but with other constraints on the base ring of the sprays. It is
-- applicable to Spray Int sprays.
hallInnerProduct'' :: forall a. Real a => Spray a -> Spray a -> a -> Rational
-- | Hall inner product with parameter for parametric sprays, because the
-- type of the parameter in hallInnerProduct is strange. For
-- example, a ParametricQSpray spray is a Spray
-- RatioOfQSprays spray, and it makes more sense to compute the Hall
-- product with a Rational parameter then to compute the Hall
-- product with a RatioOfQSprays parameter.
--
-- -- >>> import Math.Algebra.Jack.SymmetricPolynomials -- -- >>> import Math.Algebra.JackSymbolicPol -- -- >>> import Math.Algebra.Hspray -- -- >>> jp = jackSymbolicPol 3 [2, 1] 'P' -- -- >>> hallInnerProduct''' jp jp 5 == hallInnerProduct jp jp (constantRatioOfSprays 5) --hallInnerProduct''' :: forall b. (Eq b, C b, C (BaseRing b) b) => Spray b -> Spray b -> BaseRing b -> b -- | Hall inner product with parameter for parametric sprays. Same as -- hallInnerProduct''' but with other constraints on the types. -- It is applicable to SimpleParametricQSpray sprays, while -- hallInnerProduct''' is not. hallInnerProduct'''' :: forall b. (Eq b, C b, C Rational b, C (BaseRing b) b) => Spray b -> Spray b -> BaseRing b -> b -- | Hall inner product with symbolic parameter. See README for some -- examples. symbolicHallInnerProduct :: (Eq a, C a) => Spray a -> Spray a -> Spray a -- | Hall inner product with symbolic parameter. Same as -- symbolicHallInnerProduct but with other type constraints. symbolicHallInnerProduct' :: (Eq a, C Rational (Spray a), C a) => Spray a -> Spray a -> Spray a -- | Hall inner product with symbolic parameter. Same as -- symbolicHallInnerProduct but with other type constraints. It -- is applicable to Spray Int sprays. symbolicHallInnerProduct'' :: forall a. Real a => Spray a -> Spray a -> QSpray