tropical-geometry-0.0.0.1: A Tropical Geometry package for Haskell

Safe HaskellNone
LanguageHaskell2010

Polynomial.Prelude

Contents

Synopsis

Types

newtype Polynomial k ord n Source #

Polynomial requires just the type of the coefficient and the monomial ordering. | Arity is given when defining variables with variable function

Constructors

Polynomial 

Fields

Instances
(Additive (Polynomial k2 ord n), Semiring k2, Num k2) => LeftModule k2 (Polynomial k2 ord n) Source # 
Instance details

Defined in Polynomial.Prelude

Methods

(.*) :: k2 -> Polynomial k2 ord n -> Polynomial k2 ord n #

(Additive (Polynomial k2 ord n), Semiring k2, Num k2) => RightModule k2 (Polynomial k2 ord n) Source # 
Instance details

Defined in Polynomial.Prelude

Methods

(*.) :: Polynomial k2 ord n -> k2 -> Polynomial k2 ord n #

Eq k1 => Eq (Polynomial k1 ord n) Source # 
Instance details

Defined in Polynomial.Prelude

Methods

(==) :: Polynomial k1 ord n -> Polynomial k1 ord n -> Bool #

(/=) :: Polynomial k1 ord n -> Polynomial k1 ord n -> Bool #

(IsMonomialOrder ord, KnownNat n) => Fractional (Polynomial (Tropical Integer) ord n) Source # 
Instance details

Defined in Polynomial.Prelude

(IsMonomialOrder ord, KnownNat n) => Num (Polynomial (Tropical Integer) ord n) Source # 
Instance details

Defined in Polynomial.Prelude

(KnownNat n, Unital k, Show k, Eq k) => Show (Polynomial k Revlex n) Source # 
Instance details

Defined in Polynomial.Prelude

(Unital k, Show k, Eq k) => Show (Polynomial k Lex n) Source # 
Instance details

Defined in Polynomial.Prelude

Methods

showsPrec :: Int -> Polynomial k Lex n -> ShowS #

show :: Polynomial k Lex n -> String #

showList :: [Polynomial k Lex n] -> ShowS #

(Num k, IsMonomialOrder ord) => Additive (Polynomial k ord n) Source # 
Instance details

Defined in Polynomial.Prelude

Methods

(+) :: Polynomial k ord n -> Polynomial k ord n -> Polynomial k ord n #

sinnum1p :: Natural -> Polynomial k ord n -> Polynomial k ord n #

sumWith1 :: Foldable1 f => (a -> Polynomial k ord n) -> f a -> Polynomial k ord n #

(KnownNat n, CoeffRig k, IsMonomialOrder ord) => IsOrderedPolynomial (Polynomial k ord n) Source # 
Instance details

Defined in Polynomial.Prelude

Associated Types

type MonOrder (Polynomial k ord n) :: * Source #

Methods

terms :: Polynomial k ord n -> Map (Monomial (MonOrder (Polynomial k ord n)) (Arity (Polynomial k ord n))) (Coeff (Polynomial k ord n)) Source #

leadingTerm :: Polynomial k ord n -> (Coeff (Polynomial k ord n), Monomial (MonOrder (Polynomial k ord n)) (Arity (Polynomial k ord n))) Source #

leadingMonomial :: Polynomial k ord n -> Monomial (MonOrder (Polynomial k ord n)) (Arity (Polynomial k ord n)) Source #

leadingCoeff :: Polynomial k ord n -> Coeff (Polynomial k ord n) Source #

(KnownNat n, IsMonomialOrder ord, CoeffRig k) => IsPolynomial (Polynomial k ord n) Source # 
Instance details

Defined in Polynomial.Prelude

Associated Types

type Coeff (Polynomial k ord n) :: * Source #

type Arity (Polynomial k ord n) :: Nat Source #

Methods

arity :: Polynomial k ord n -> SNat (Arity (Polynomial k ord n)) Source #

toPolynomial :: (Mon (Arity (Polynomial k ord n)), Coeff (Polynomial k ord n)) -> Polynomial k ord n Source #

fromMonomial :: Mon (Arity (Polynomial k ord n)) -> Polynomial k ord n Source #

variable :: Ordinal (Arity (Polynomial k ord n)) -> Polynomial k ord n Source #

type MonOrder (Polynomial k ord n) Source # 
Instance details

Defined in Polynomial.Prelude

type MonOrder (Polynomial k ord n) = ord
type Coeff (Polynomial k ord n) Source # 
Instance details

Defined in Polynomial.Prelude

type Coeff (Polynomial k ord n) = k
type Arity (Polynomial k ord n) Source # 
Instance details

Defined in Polynomial.Prelude

type Arity (Polynomial k ord n) = n

Classes

class (CoeffRig (Coeff poly), KnownNat (Arity poly)) => IsPolynomial poly where Source #

Every polynomial must implement this class

Minimal complete definition

arity, toPolynomial

Associated Types

type Coeff poly :: * Source #

type Arity poly :: Nat Source #

Methods

arity :: poly -> SNat (Arity poly) Source #

toPolynomial :: (Mon (Arity poly), Coeff poly) -> poly Source #

fromMonomial :: Mon (Arity poly) -> poly Source #

variable :: Ordinal (Arity poly) -> poly Source #

Instances
(KnownNat n, IsMonomialOrder ord, CoeffRig k) => IsPolynomial (Polynomial k ord n) Source # 
Instance details

Defined in Polynomial.Prelude

Associated Types

type Coeff (Polynomial k ord n) :: * Source #

type Arity (Polynomial k ord n) :: Nat Source #

Methods

arity :: Polynomial k ord n -> SNat (Arity (Polynomial k ord n)) Source #

toPolynomial :: (Mon (Arity (Polynomial k ord n)), Coeff (Polynomial k ord n)) -> Polynomial k ord n Source #

fromMonomial :: Mon (Arity (Polynomial k ord n)) -> Polynomial k ord n Source #

variable :: Ordinal (Arity (Polynomial k ord n)) -> Polynomial k ord n Source #

class (IsMonomialOrder (MonOrder poly), IsPolynomial poly) => IsOrderedPolynomial poly where Source #

Minimal complete definition

terms

Associated Types

type MonOrder poly :: * Source #

Methods

terms :: poly -> Map (Monomial (MonOrder poly) (Arity poly)) (Coeff poly) Source #

leadingTerm :: poly -> (Coeff poly, Monomial (MonOrder poly) (Arity poly)) Source #

leadingMonomial :: poly -> Monomial (MonOrder poly) (Arity poly) Source #

leadingCoeff :: poly -> Coeff poly Source #

Instances
(KnownNat n, CoeffRig k, IsMonomialOrder ord) => IsOrderedPolynomial (Polynomial k ord n) Source # 
Instance details

Defined in Polynomial.Prelude

Associated Types

type MonOrder (Polynomial k ord n) :: * Source #

Methods

terms :: Polynomial k ord n -> Map (Monomial (MonOrder (Polynomial k ord n)) (Arity (Polynomial k ord n))) (Coeff (Polynomial k ord n)) Source #

leadingTerm :: Polynomial k ord n -> (Coeff (Polynomial k ord n), Monomial (MonOrder (Polynomial k ord n)) (Arity (Polynomial k ord n))) Source #

leadingMonomial :: Polynomial k ord n -> Monomial (MonOrder (Polynomial k ord n)) (Arity (Polynomial k ord n)) Source #

leadingCoeff :: Polynomial k ord n -> Coeff (Polynomial k ord n) Source #

Functions

(!*) :: Num k => k -> Polynomial k ord n -> Polynomial k ord n Source #