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