Safe Haskell | None |
---|---|
Language | Haskell98 |
A module providing a type for non-commutative polynomials.
Synopsis
- 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, b1) -> (a, b2) -> Ordering
- mergeTerms :: (Ord a, Eq b, Num b) => [(a, b)] -> [(a, b)] -> [(a, b)]
- collect :: (Num a1, Eq a2, Eq a1) => [(a2, a1)] -> [(a2, a1)]
- data Var
- var :: Num k => v -> NPoly k v
- x :: NPoly Q Var
- y :: NPoly Q Var
- z :: NPoly Q Var
- lm :: NPoly r v -> Monomial v
- lc :: NPoly r v -> r
- lt :: NPoly r v -> NPoly r v
- quotRemNP :: (Fractional r, Ord v, Show v, Eq r) => NPoly r v -> [NPoly r v] -> ([(NPoly r v, NPoly r v)], NPoly r v)
- remNP :: (Fractional r, Ord v, Show v, Eq r) => NPoly r v -> [NPoly r v] -> NPoly r v
- (%%) :: (Fractional r, Ord v, Show v, Eq r) => NPoly r v -> [NPoly r v] -> NPoly r v
- remNP2 :: (Num r, Ord v, Show v, Eq r) => NPoly r v -> [NPoly r v] -> NPoly r v
- toMonic :: (Eq r, Ord v, Show v, Fractional r) => NPoly r v -> NPoly r v
- inject :: (Num r, Eq r, Eq v, Show v) => r -> NPoly r v
- subst :: (Num r1, Ord v1, Show v1, Eq r1, Eq v2, Eq r2, Show r2, Show v2, Num r2) => [(NPoly r2 v2, NPoly r1 v1)] -> NPoly r1 v2 -> NPoly r1 v1
- class Invertible a where
- inv :: a -> a
- (^-) :: (Integral b, Invertible a, Num a) => a -> b -> a
Documentation
M [v] |
Instances
Eq v => Eq (Monomial v) Source # | |
(Eq v, Show v) => Num (Monomial v) Source # | |
Defined in Math.Algebra.NonCommutative.NCPoly | |
Ord v => Ord (Monomial v) Source # | |
Defined in Math.Algebra.NonCommutative.NCPoly | |
(Eq v, Show v) => Show (Monomial v) Source # | |
Instances
(Eq v, Eq r) => Eq (NPoly r v) Source # | |
(Eq k, Fractional k, Ord v, Show v) => Fractional (NPoly k v) Source # | |
(Eq r, Num r, Ord v, Show v) => Num (NPoly r v) Source # | |
Defined in Math.Algebra.NonCommutative.NCPoly | |
(Ord r, Ord v) => Ord (NPoly r v) Source # | |
Defined in Math.Algebra.NonCommutative.NCPoly | |
(Show r, Eq v, Show v) => Show (NPoly r v) Source # | |
Invertible (NPoly LPQ BraidGens) Source # | |
Invertible (NPoly LPQ IwahoriHeckeGens) Source # | |
Defined in Math.Projects.KnotTheory.IwahoriHecke |
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 :: (Fractional r, Ord v, Show v, Eq r) => NPoly r v -> [NPoly r v] -> ([(NPoly r v, NPoly r v)], NPoly r v) Source #
(%%) :: (Fractional r, Ord v, Show v, Eq r) => NPoly r v -> [NPoly r v] -> NPoly r v infixl 7 Source #
subst :: (Num r1, Ord v1, Show v1, Eq r1, Eq v2, Eq r2, Show r2, Show v2, Num r2) => [(NPoly r2 v2, NPoly r1 v1)] -> NPoly r1 v2 -> NPoly r1 v1 Source #
class Invertible a where Source #
Instances
Invertible LPQ Source # | |
Invertible (NPoly LPQ BraidGens) Source # | |
Invertible (NPoly LPQ IwahoriHeckeGens) Source # | |
Defined in Math.Projects.KnotTheory.IwahoriHecke |