|
|
|
| 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 | | | | 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] |
| | 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 | | 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 |