Polynom-0.1: A commutative algebra packageContentsIndex
Data.Monomial
Description
The Monomial module defines the basic classes and structures for computing with free commutative monoids over a finite totally ordered set.
Synopsis
class (Ix a, Bounded a, Ord a, Enum a, Show a) => VarList a where
varBounds :: (a, a)
varRange :: [a]
data VarList a => Monom a = MakeMonom (Array a Int, Integer)
toMonom :: VarList a => Array a Int -> Monom a
unit :: VarList a => Monom a
returnm :: VarList a => a -> Monom a
unsafe_division :: VarList a => Monom a -> Monom a -> Monom a
(××) :: VarList a => Monom a -> Int -> Monom a
smallmap :: VarList b => (a, Int) -> (a -> Monom b) -> Monom b
(>>!) :: (VarList a, VarList b) => Monom a -> (a -> Monom b) -> Monom b
prettyshow :: (Show a, VarList a) => [(a, Int)] -> String
separate_vars :: VarList v => (v -> Bool) -> Monom v -> (Monom v, Monom v)
Documentation
class (Ix a, Bounded a, Ord a, Enum a, Show a) => VarList a where
The VarList class inherits structure from suitable classes of totally ordered, finite types, with Show structure
Methods
varBounds :: (a, a)
varRange :: [a]
show/hide Instances
data VarList a => Monom a

The Monomial module defines free abelian semi-groups over a countable type: since arrays will be used, the Ix class is used for the variables. We use unboxed array types.

It includes a field holding the degree.

Constructors
MakeMonom (Array a Int, Integer)
show/hide Instances
toMonom :: VarList a => Array a Int -> Monom a
unit :: VarList a => Monom a
unit is the unit monomial, which has zero exponents
returnm :: VarList a => a -> Monom a
returnm is the monad-like unit of the functor Monom
unsafe_division :: VarList a => Monom a -> Monom a -> Monom a
(××) :: VarList a => Monom a -> Int -> Monom a
Helper function '()' raising to an integral power.
smallmap :: VarList b => (a, Int) -> (a -> Monom b) -> Monom b
Monadic partial operation.
(>>!) :: (VarList a, VarList b) => Monom a -> (a -> Monom b) -> Monom b
A monadic operation computing semi-group maps from an assignment of images of generators.
prettyshow :: (Show a, VarList a) => [(a, Int)] -> String
separate_vars :: VarList v => (v -> Bool) -> Monom v -> (Monom v, Monom v)
A helper function for elimination, taking a boolean function indicating which variables should be eliminated.
Produced by Haddock version 2.3.0