Portability | unportable |
---|---|
Stability | unstable |
Maintainer | Andreas Schnabl <andreas.schnabl@uibk.ac.at> |
Safe Haskell | Safe-Infered |
This module defines polynomial interpretations.
- data PolyShape
- = SimpleShape SimplePolyShape
- | CustomShape ([Variable] -> [SimpleMonomial])
- data SimplePolyShape
- = StronglyLinear
- | Linear
- | Simple
- | SimpleMixed
- | Quadratic
- data SimpleMonomial
- (^^^) :: a -> Int -> Power a
- mono :: [Power Variable] -> SimpleMonomial
- constant :: SimpleMonomial
- boolCoefficient :: SimpleMonomial -> SimpleMonomial
Shapes
data PolyShape
The shape of polynomial interpretations.
data SimplePolyShape
This datatype reflects standard shapes for polynomial interpretations, as found in the literature.
Constructors for Custom Shapes
data SimpleMonomial
A SimpleMonomial
denotes a monomial with variables in Variable
,
and can be build using ^^^
, constant
and mono
.
mono :: [Power Variable] -> SimpleMonomial
mono [v1^^^k1,...,vn^^^kn]
constructs the SimpleMonomial
c * v1^k1 * ... * v1^kn
where c
is unique for the constructed monomial.
Returns a new monomial without variables.
boolCoefficient :: SimpleMonomial -> SimpleMonomial
Returns a new monomial whose coefficient is guaranteed to be 0
or 1
.