Ritt-Wu-0.1.0.0

Safe HaskellNone
LanguageHaskell2010

Polynomial.Monomial

Description

  • - Module : Data.Massiv.Array
  • - Copyright :
  • - License : BSD3
  • - Maintainer : Jose Seraquive jose.seraquive@gmail.com
  • - Stability : experimental
  • - Portability : non-portable
Synopsis

Documentation

newtype Mon ord Source #

A wrapper for monomials with a certain (monomial) order

Constructors

Mon (Array P Ix1 Int) 
Instances
LeftModule Integer (Mon ord) Source # 
Instance details

Defined in Polynomial.Monomial

Methods

(.*) :: Integer -> Mon ord -> Mon ord #

LeftModule Natural (Mon ord) Source # 
Instance details

Defined in Polynomial.Monomial

Methods

(.*) :: Natural -> Mon ord -> Mon ord #

RightModule Integer (Mon ord) Source # 
Instance details

Defined in Polynomial.Monomial

Methods

(*.) :: Mon ord -> Integer -> Mon ord #

RightModule Natural (Mon ord) Source # 
Instance details

Defined in Polynomial.Monomial

Methods

(*.) :: Mon ord -> Natural -> Mon ord #

Eq (Mon ord) Source # 
Instance details

Defined in Polynomial.Monomial

Methods

(==) :: Mon ord -> Mon ord -> Bool #

(/=) :: Mon ord -> Mon ord -> Bool #

Ord (Mon Revlex) Source # 
Instance details

Defined in Polynomial.Monomial

Ord (Mon Lex) Source # 
Instance details

Defined in Polynomial.Monomial

Methods

compare :: Mon Lex -> Mon Lex -> Ordering #

(<) :: Mon Lex -> Mon Lex -> Bool #

(<=) :: Mon Lex -> Mon Lex -> Bool #

(>) :: Mon Lex -> Mon Lex -> Bool #

(>=) :: Mon Lex -> Mon Lex -> Bool #

max :: Mon Lex -> Mon Lex -> Mon Lex #

min :: Mon Lex -> Mon Lex -> Mon Lex #

Show (Mon ord) Source # 
Instance details

Defined in Polynomial.Monomial

Methods

showsPrec :: Int -> Mon ord -> ShowS #

show :: Mon ord -> String #

showList :: [Mon ord] -> ShowS #

Generic (Mon ord) Source # 
Instance details

Defined in Polynomial.Monomial

Associated Types

type Rep (Mon ord) :: Type -> Type #

Methods

from :: Mon ord -> Rep (Mon ord) x #

to :: Rep (Mon ord) x -> Mon ord #

NFData (Mon ord) Source # 
Instance details

Defined in Polynomial.Monomial

Methods

rnf :: Mon ord -> () #

Division (Mon ord) Source # 
Instance details

Defined in Polynomial.Monomial

Methods

recip :: Mon ord -> Mon ord #

(/) :: Mon ord -> Mon ord -> Mon ord #

(\\) :: Mon ord -> Mon ord -> Mon ord #

(^) :: Integral n => Mon ord -> n -> Mon ord #

Unital (Mon ord) Source # 
Instance details

Defined in Polynomial.Monomial

Methods

one :: Mon ord #

pow :: Mon ord -> Natural -> Mon ord #

productWith :: Foldable f => (a -> Mon ord) -> f a -> Mon ord #

Group (Mon ord) Source # 
Instance details

Defined in Polynomial.Monomial

Methods

(-) :: Mon ord -> Mon ord -> Mon ord #

negate :: Mon ord -> Mon ord #

subtract :: Mon ord -> Mon ord -> Mon ord #

times :: Integral n => n -> Mon ord -> Mon ord #

Multiplicative (Mon ord) Source # 
Instance details

Defined in Polynomial.Monomial

Methods

(*) :: Mon ord -> Mon ord -> Mon ord #

pow1p :: Mon ord -> Natural -> Mon ord #

productWith1 :: Foldable1 f => (a -> Mon ord) -> f a -> Mon ord #

Semiring (Mon ord) Source # 
Instance details

Defined in Polynomial.Monomial

Monoidal (Mon ord) Source # 
Instance details

Defined in Polynomial.Monomial

Methods

zero :: Mon ord #

sinnum :: Natural -> Mon ord -> Mon ord #

sumWith :: Foldable f => (a -> Mon ord) -> f a -> Mon ord #

Additive (Mon ord) Source # 
Instance details

Defined in Polynomial.Monomial

Methods

(+) :: Mon ord -> Mon ord -> Mon ord #

sinnum1p :: Natural -> Mon ord -> Mon ord #

sumWith1 :: Foldable1 f => (a -> Mon ord) -> f a -> Mon ord #

Abelian (Mon ord) Source # 
Instance details

Defined in Polynomial.Monomial

type Rep (Mon ord) Source # 
Instance details

Defined in Polynomial.Monomial

type Rep (Mon ord) = D1 (MetaData "Mon" "Polynomial.Monomial" "Ritt-Wu-0.1.0.0-HkN3umTPbNu5vlsngcCGAk" True) (C1 (MetaCons "Mon" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Array P Ix1 Int))))

data Lex Source #

Lexicographical order

Constructors

Lex 
Instances
Ord (Mon Lex) Source # 
Instance details

Defined in Polynomial.Monomial

Methods

compare :: Mon Lex -> Mon Lex -> Ordering #

(<) :: Mon Lex -> Mon Lex -> Bool #

(<=) :: Mon Lex -> Mon Lex -> Bool #

(>) :: Mon Lex -> Mon Lex -> Bool #

(>=) :: Mon Lex -> Mon Lex -> Bool #

max :: Mon Lex -> Mon Lex -> Mon Lex #

min :: Mon Lex -> Mon Lex -> Mon Lex #

data Revlex Source #

Reverse lexicographical order

Constructors

Revlex 
Instances
(NFData t, Num t, Eq t) => LeftModule Integer (Poly t Revlex) Source # 
Instance details

Defined in Polynomial.Polynomial

Methods

(.*) :: Integer -> Poly t Revlex -> Poly t Revlex #

(NFData t, Num t, Eq t) => LeftModule Natural (Poly t Revlex) Source # 
Instance details

Defined in Polynomial.Polynomial

Methods

(.*) :: Natural -> Poly t Revlex -> Poly t Revlex #

(NFData t, Num t, Eq t) => RightModule Integer (Poly t Revlex) Source # 
Instance details

Defined in Polynomial.Polynomial

Methods

(*.) :: Poly t Revlex -> Integer -> Poly t Revlex #

(NFData t, Num t, Eq t) => RightModule Natural (Poly t Revlex) Source # 
Instance details

Defined in Polynomial.Polynomial

Methods

(*.) :: Poly t Revlex -> Natural -> Poly t Revlex #

Ord (Mon Revlex) Source # 
Instance details

Defined in Polynomial.Monomial

Eq k => Ord (Term k Revlex) Source # 
Instance details

Defined in Polynomial.Terms

Methods

compare :: Term k Revlex -> Term k Revlex -> Ordering #

(<) :: Term k Revlex -> Term k Revlex -> Bool #

(<=) :: Term k Revlex -> Term k Revlex -> Bool #

(>) :: Term k Revlex -> Term k Revlex -> Bool #

(>=) :: Term k Revlex -> Term k Revlex -> Bool #

max :: Term k Revlex -> Term k Revlex -> Term k Revlex #

min :: Term k Revlex -> Term k Revlex -> Term k Revlex #

(NFData t, Num t, Eq t) => Group (Poly t Revlex) Source # 
Instance details

Defined in Polynomial.Polynomial

Methods

(-) :: Poly t Revlex -> Poly t Revlex -> Poly t Revlex #

negate :: Poly t Revlex -> Poly t Revlex #

subtract :: Poly t Revlex -> Poly t Revlex -> Poly t Revlex #

times :: Integral n => n -> Poly t Revlex -> Poly t Revlex #

(NFData t, Num t, Eq t) => Multiplicative (Poly t Revlex) Source # 
Instance details

Defined in Polynomial.Polynomial

Methods

(*) :: Poly t Revlex -> Poly t Revlex -> Poly t Revlex #

pow1p :: Poly t Revlex -> Natural -> Poly t Revlex #

productWith1 :: Foldable1 f => (a -> Poly t Revlex) -> f a -> Poly t Revlex #

(NFData t, Num t, Eq t) => Semiring (Poly t Revlex) Source # 
Instance details

Defined in Polynomial.Polynomial

(NFData t, Num t, Eq t) => Monoidal (Poly t Revlex) Source # 
Instance details

Defined in Polynomial.Polynomial

Methods

zero :: Poly t Revlex #

sinnum :: Natural -> Poly t Revlex -> Poly t Revlex #

sumWith :: Foldable f => (a -> Poly t Revlex) -> f a -> Poly t Revlex #

(NFData t, Num t, Eq t) => Additive (Poly t Revlex) Source # 
Instance details

Defined in Polynomial.Polynomial

Methods

(+) :: Poly t Revlex -> Poly t Revlex -> Poly t Revlex #

sinnum1p :: Natural -> Poly t Revlex -> Poly t Revlex #

sumWith1 :: Foldable1 f => (a -> Poly t Revlex) -> f a -> Poly t Revlex #

(NFData t, Num t, Eq t) => Abelian (Poly t Revlex) Source # 
Instance details

Defined in Polynomial.Polynomial

m :: [Int] -> Mon ord Source #

Monomial with terms

mp :: [Int] -> [Int] -> Mon ord Source #

Monomial with the term position