Safe Haskell | None |
---|---|
Language | Haskell2010 |
Multivariate monomials where the variable set is the countable infinite
set {x_1, x_2, x_3,... }
Synopsis
- newtype XInf (var :: Symbol) = XInf [Int]
- unXInf :: XInf var -> [Int]
- xInfVar :: KnownSymbol var => XInf var -> String
- emptyXInf :: XInf v
- isEmptyXInf :: XInf v -> Bool
- mulXInf :: XInf v -> XInf v -> XInf v
- productXInf :: Foldable f => f (XInf v) -> XInf v
- divXInf :: XInf v -> XInf v -> Maybe (XInf v)
- xInfFromList :: [(Index, Int)] -> XInf v
- xInfToList :: XInf v -> [(Index, Int)]
- xInfToMap :: XInf var -> Map Index Int
- normalizeXInf :: XInf v -> XInf v
- isNormalXInf :: XInf v -> Bool
- variableXInf :: Index -> XInf v
- singletonXInf :: Index -> Int -> XInf v
- powXInf :: XInf v -> Int -> XInf v
- maxDegXInf :: XInf v -> Int
- totalDegXInf :: XInf v -> Int
- evalXInf :: Num c => (Index -> c) -> XInf v -> c
- varSubsXInf :: (Index -> Index) -> XInf v -> XInf v
- termSubsXInf :: Num c => (Index -> Maybe c) -> (XInf v, c) -> (XInf v, c)
- diffXInf :: Num c => Index -> Int -> XInf v -> Maybe (XInf v, c)
Monomials
newtype XInf (var :: Symbol) Source #
Monomials of the variables x1,x2,x3,...
. The internal representation is a
list of exponents: x1^e1*x2^e2*x3^e3...
is represented by [e1,e2,e3,...]
.
We assume that only finitely many nonzero exponents appear.
The type is indexed by the name of the variables.
Instances
isEmptyXInf :: XInf v -> Bool Source #
normalizeXInf :: XInf v -> XInf v Source #
isNormalXInf :: XInf v -> Bool Source #
variableXInf :: Index -> XInf v Source #
maxDegXInf :: XInf v -> Int Source #
totalDegXInf :: XInf v -> Int Source #