halg-algorithms-0.6.0.0: Algorithms related to Gröbner basis, part of halg computational algebra suite.
Safe HaskellNone
LanguageHaskell2010

Algebra.Ring.Polynomial.Homogenised

Documentation

data Homogenised poly Source #

Instances

Instances details
IsOrderedPolynomial poly => RightModule Integer (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

(*.) :: Homogenised poly -> Integer -> Homogenised poly #

IsOrderedPolynomial poly => RightModule Natural (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

(*.) :: Homogenised poly -> Natural -> Homogenised poly #

IsOrderedPolynomial poly => LeftModule Integer (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

(.*) :: Integer -> Homogenised poly -> Homogenised poly #

IsOrderedPolynomial poly => LeftModule Natural (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

(.*) :: Natural -> Homogenised poly -> Homogenised poly #

IsOrderedPolynomial poly => Eq (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

(==) :: Homogenised poly -> Homogenised poly -> Bool #

(/=) :: Homogenised poly -> Homogenised poly -> Bool #

IsOrderedPolynomial poly => Num (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

(+) :: Homogenised poly -> Homogenised poly -> Homogenised poly #

(-) :: Homogenised poly -> Homogenised poly -> Homogenised poly #

(*) :: Homogenised poly -> Homogenised poly -> Homogenised poly #

negate :: Homogenised poly -> Homogenised poly #

abs :: Homogenised poly -> Homogenised poly #

signum :: Homogenised poly -> Homogenised poly #

fromInteger :: Integer -> Homogenised poly #

(IsOrderedPolynomial poly, PrettyCoeff (Coefficient poly)) => Show (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

showsPrec :: Int -> Homogenised poly -> ShowS #

show :: Homogenised poly -> String #

showList :: [Homogenised poly] -> ShowS #

(Field (Coefficient poly), IsOrderedPolynomial poly) => UFD (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

(Field (Coefficient poly), IsOrderedPolynomial poly) => PID (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

egcd :: Homogenised poly -> Homogenised poly -> (Homogenised poly, Homogenised poly, Homogenised poly) #

(Field (Coefficient poly), IsOrderedPolynomial poly) => GCDDomain (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

gcd :: Homogenised poly -> Homogenised poly -> Homogenised poly #

reduceFraction :: Homogenised poly -> Homogenised poly -> (Homogenised poly, Homogenised poly) #

lcm :: Homogenised poly -> Homogenised poly -> Homogenised poly #

(Field (Coefficient poly), IsOrderedPolynomial poly) => IntegralDomain (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

divides :: Homogenised poly -> Homogenised poly -> Bool #

maybeQuot :: Homogenised poly -> Homogenised poly -> Maybe (Homogenised poly) #

(Field (Coefficient poly), IsOrderedPolynomial poly) => Euclidean (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

degree :: Homogenised poly -> Maybe Natural #

divide :: Homogenised poly -> Homogenised poly -> (Homogenised poly, Homogenised poly) #

quot :: Homogenised poly -> Homogenised poly -> Homogenised poly #

rem :: Homogenised poly -> Homogenised poly -> Homogenised poly #

IsOrderedPolynomial poly => ZeroProductSemiring (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

(Field (Coefficient poly), IsOrderedPolynomial poly) => UnitNormalForm (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

splitUnit :: Homogenised poly -> (Homogenised poly, Homogenised poly) #

IsOrderedPolynomial poly => Ring (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

fromInteger :: Integer -> Homogenised poly

IsOrderedPolynomial poly => Rig (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

fromNatural :: Natural -> Homogenised poly #

IsOrderedPolynomial poly => DecidableZero (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

isZero :: Homogenised poly -> Bool #

(Field (Coefficient poly), IsOrderedPolynomial poly) => DecidableUnits (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

recipUnit :: Homogenised poly -> Maybe (Homogenised poly) #

isUnit :: Homogenised poly -> Bool #

(^?) :: Integral n => Homogenised poly -> n -> Maybe (Homogenised poly) #

(Field (Coefficient poly), IsOrderedPolynomial poly) => DecidableAssociates (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

isAssociate :: Homogenised poly -> Homogenised poly -> Bool #

IsOrderedPolynomial poly => Unital (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

one :: Homogenised poly #

pow :: Homogenised poly -> Natural -> Homogenised poly #

productWith :: Foldable f => (a -> Homogenised poly) -> f a -> Homogenised poly #

IsOrderedPolynomial poly => Commutative (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

IsOrderedPolynomial poly => Semiring (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

IsOrderedPolynomial poly => Multiplicative (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

(*) :: Homogenised poly -> Homogenised poly -> Homogenised poly #

pow1p :: Homogenised poly -> Natural -> Homogenised poly #

productWith1 :: Foldable1 f => (a -> Homogenised poly) -> f a -> Homogenised poly #

IsOrderedPolynomial poly => Monoidal (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

zero :: Homogenised poly #

sinnum :: Natural -> Homogenised poly -> Homogenised poly #

sumWith :: Foldable f => (a -> Homogenised poly) -> f a -> Homogenised poly #

IsOrderedPolynomial poly => Group (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

(-) :: Homogenised poly -> Homogenised poly -> Homogenised poly #

negate :: Homogenised poly -> Homogenised poly #

subtract :: Homogenised poly -> Homogenised poly -> Homogenised poly #

times :: Integral n => n -> Homogenised poly -> Homogenised poly #

IsOrderedPolynomial poly => Additive (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

(+) :: Homogenised poly -> Homogenised poly -> Homogenised poly #

sinnum1p :: Natural -> Homogenised poly -> Homogenised poly #

sumWith1 :: Foldable1 f => (a -> Homogenised poly) -> f a -> Homogenised poly #

IsOrderedPolynomial poly => Abelian (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

IsOrderedPolynomial poly => IsPolynomial (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Associated Types

type Coefficient (Homogenised poly) #

type Arity (Homogenised poly) :: Nat #

Methods

liftMap :: (Module (Scalar (Coefficient (Homogenised poly))) alg, Ring alg, Commutative alg) => (Ordinal (Arity (Homogenised poly)) -> alg) -> Homogenised poly -> alg #

subst :: (Ring alg, Commutative alg, Module (Scalar (Coefficient (Homogenised poly))) alg) => Sized (Arity (Homogenised poly)) alg -> Homogenised poly -> alg #

substWith :: Ring m => (Coefficient (Homogenised poly) -> m -> m) -> Sized (Arity (Homogenised poly)) m -> Homogenised poly -> m #

sArity' :: Homogenised poly -> SNat (Arity (Homogenised poly)) #

sArity :: proxy (Homogenised poly) -> SNat (Arity (Homogenised poly)) #

arity :: proxy (Homogenised poly) -> Integer #

injectCoeff :: Coefficient (Homogenised poly) -> Homogenised poly #

injectCoeff' :: proxy (Homogenised poly) -> Coefficient (Homogenised poly) -> Homogenised poly #

monomials :: Homogenised poly -> HashSet (Monomial (Arity (Homogenised poly))) #

terms' :: Homogenised poly -> Map (Monomial (Arity (Homogenised poly))) (Coefficient (Homogenised poly)) #

coeff' :: Monomial (Arity (Homogenised poly)) -> Homogenised poly -> Coefficient (Homogenised poly) #

constantTerm :: Homogenised poly -> Coefficient (Homogenised poly) #

fromMonomial :: Monomial (Arity (Homogenised poly)) -> Homogenised poly #

toPolynomial' :: (Coefficient (Homogenised poly), Monomial (Arity (Homogenised poly))) -> Homogenised poly #

polynomial' :: Map (Monomial (Arity (Homogenised poly))) (Coefficient (Homogenised poly)) -> Homogenised poly #

totalDegree' :: Homogenised poly -> Int #

var :: Ordinal (Arity (Homogenised poly)) -> Homogenised poly #

mapCoeff' :: (Coefficient (Homogenised poly) -> Coefficient (Homogenised poly)) -> Homogenised poly -> Homogenised poly #

(>|*) :: Monomial (Arity (Homogenised poly)) -> Homogenised poly -> Homogenised poly #

(*|<) :: Homogenised poly -> Monomial (Arity (Homogenised poly)) -> Homogenised poly #

(!*) :: Coefficient (Homogenised poly) -> Homogenised poly -> Homogenised poly #

_Terms' :: Iso' (Homogenised poly) (Map (Monomial (Arity (Homogenised poly))) (Coefficient (Homogenised poly))) #

mapMonomial :: (Monomial (Arity (Homogenised poly)) -> Monomial (Arity (Homogenised poly))) -> Homogenised poly -> Homogenised poly #

IsOrderedPolynomial poly => IsOrderedPolynomial (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Associated Types

type MOrder (Homogenised poly) #

Methods

coeff :: OrderedMonomial (MOrder (Homogenised poly)) (Arity (Homogenised poly)) -> Homogenised poly -> Coefficient (Homogenised poly) #

terms :: Homogenised poly -> Map (OrderedMonomial (MOrder (Homogenised poly)) (Arity (Homogenised poly))) (Coefficient (Homogenised poly)) #

leadingTerm :: Homogenised poly -> (Coefficient (Homogenised poly), OrderedMonomial (MOrder (Homogenised poly)) (Arity (Homogenised poly))) #

leadingMonomial :: Homogenised poly -> OrderedMonomial (MOrder (Homogenised poly)) (Arity (Homogenised poly)) #

leadingCoeff :: Homogenised poly -> Coefficient (Homogenised poly) #

splitLeadingTerm :: Homogenised poly -> (Term (Homogenised poly), Homogenised poly) #

orderedMonomials :: Homogenised poly -> Set (OrderedMonomial (MOrder (Homogenised poly)) (Arity (Homogenised poly))) #

fromOrderedMonomial :: OrderedMonomial (MOrder (Homogenised poly)) (Arity (Homogenised poly)) -> Homogenised poly #

toPolynomial :: (Coefficient (Homogenised poly), OrderedMonomial (MOrder (Homogenised poly)) (Arity (Homogenised poly))) -> Homogenised poly #

polynomial :: Map (OrderedMonomial (MOrder (Homogenised poly)) (Arity (Homogenised poly))) (Coefficient (Homogenised poly)) -> Homogenised poly #

(>*) :: OrderedMonomial (MOrder (Homogenised poly)) (Arity (Homogenised poly)) -> Homogenised poly -> Homogenised poly #

(*<) :: Homogenised poly -> OrderedMonomial (MOrder (Homogenised poly)) (Arity (Homogenised poly)) -> Homogenised poly #

_Terms :: Iso' (Homogenised poly) (Map (OrderedMonomial (MOrder (Homogenised poly)) (Arity (Homogenised poly))) (Coefficient (Homogenised poly))) #

diff :: Ordinal (Arity (Homogenised poly)) -> Homogenised poly -> Homogenised poly #

mapMonomialMonotonic :: (OrderedMonomial (MOrder (Homogenised poly)) (Arity (Homogenised poly)) -> OrderedMonomial (MOrder (Homogenised poly)) (Arity (Homogenised poly))) -> Homogenised poly -> Homogenised poly #

(IsOrderedPolynomial poly, k ~ Coefficient poly) => RightModule (Scalar k) (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

(*.) :: Homogenised poly -> Scalar k -> Homogenised poly #

(IsOrderedPolynomial poly, k ~ Coefficient poly) => LeftModule (Scalar k) (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

Methods

(.*) :: Scalar k -> Homogenised poly -> Homogenised poly #

type Arity (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

type Arity (Homogenised poly) = Arity poly + 1
type Coefficient (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

type MOrder (Homogenised poly) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Homogenised

type MOrder (Homogenised poly) = HomogOrder (Arity poly) (MOrder poly)

type HomogOrder n ord = ProductOrder n 1 ord Lex Source #