Safe Haskell | None |
---|---|
Language | Haskell98 |
A module providing a type for non-commutative polynomials.
- newtype Monomial v = M [v]
- divM :: Eq v => Monomial v -> Monomial v -> Maybe (Monomial v, Monomial v)
- newtype NPoly r v = NP [(Monomial v, r)]
- cmpTerm :: Ord a => (a, t) -> (a, t1) -> Ordering
- mergeTerms :: (Ord a, Num a1, Eq a1) => [(a, a1)] -> [(a, a1)] -> [(a, a1)]
- collect :: (Num a1, Eq a1, Eq a) => [(a, a1)] -> [(a, a1)]
- data Var
- var :: Num k => v -> NPoly k v
- x :: NPoly Q Var
- y :: NPoly Q Var
- z :: NPoly Q Var
- lm :: NPoly t t1 -> Monomial t1
- lc :: NPoly t t1 -> t
- lt :: NPoly r v -> NPoly r v
- quotRemNP :: (Show v, Ord v, Fractional r, Eq r) => NPoly r v -> [NPoly r v] -> ([(NPoly r v, NPoly r v)], NPoly r v)
- remNP :: (Show v, Ord v, Fractional r, Eq r) => NPoly r v -> [NPoly r v] -> NPoly r v
- (%%) :: (Show v, Ord v, Fractional r, Eq r) => NPoly r v -> [NPoly r v] -> NPoly r v
- remNP2 :: (Show v, Ord v, Num r, Eq r) => NPoly r v -> [NPoly r v] -> NPoly r v
- toMonic :: (Show v, Ord v, Fractional r, Eq r) => NPoly r v -> NPoly r v
- inject :: (Show v, Num r, Eq v, Eq r) => r -> NPoly r v
- subst :: (Show v1, Show v, Show r, Ord v1, Num r1, Num r, Eq r1, Eq v, Eq r) => [(NPoly r v, NPoly r1 v1)] -> NPoly r1 v -> NPoly r1 v1
- class Invertible a where
- inv :: a -> a
- (^-) :: (Invertible a, Num a, Integral b) => a -> b -> a
Documentation
M [v] |
mergeTerms :: (Ord a, Num a1, Eq a1) => [(a, a1)] -> [(a, a1)] -> [(a, a1)] Source
var :: Num k => v -> NPoly k v Source
Create a non-commutative variable for use in forming non-commutative polynomials. For example, we could define x = var "x", y = var "y". Then x*y /= y*x.
quotRemNP :: (Show v, Ord v, Fractional r, Eq r) => NPoly r v -> [NPoly r v] -> ([(NPoly r v, NPoly r v)], NPoly r v) Source
(%%) :: (Show v, Ord v, Fractional r, Eq r) => NPoly r v -> [NPoly r v] -> NPoly r v infixl 7 Source
subst :: (Show v1, Show v, Show r, Ord v1, Num r1, Num r, Eq r1, Eq v, Eq r) => [(NPoly r v, NPoly r1 v1)] -> NPoly r1 v -> NPoly r1 v1 Source
class Invertible a where Source
(^-) :: (Invertible a, Num a, Integral b) => a -> b -> a Source