halg-polynomials-0.6.0.0: Polynomial rings and basic Gröbner basis computation, part of halg computational algebra suite.
Safe HaskellNone
LanguageHaskell2010

Algebra.Ring.Polynomial.Quotient

Synopsis

Documentation

data Quotient poly ideal Source #

The polynomial modulo the ideal indexed at the last type-parameter.

Instances

Instances details
Group poly => RightModule Integer (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

Methods

(*.) :: Quotient poly ideal -> Integer -> Quotient poly ideal #

Monoidal poly => RightModule Natural (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

Methods

(*.) :: Quotient poly ideal -> Natural -> Quotient poly ideal #

Group poly => LeftModule Integer (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

Methods

(.*) :: Integer -> Quotient poly ideal -> Quotient poly ideal #

Monoidal poly => LeftModule Natural (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

Methods

(.*) :: Natural -> Quotient poly ideal -> Quotient poly ideal #

(r ~ Coefficient poly, IsOrderedPolynomial poly) => RightModule (Scalar r) (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

Methods

(*.) :: Quotient poly ideal -> Scalar r -> Quotient poly ideal #

(r ~ Coefficient poly, Field (Coefficient poly), IsOrderedPolynomial poly) => LeftModule (Scalar r) (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

Methods

(.*) :: Scalar r -> Quotient poly ideal -> Quotient poly ideal #

Eq poly => Eq (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

Methods

(==) :: Quotient poly ideal -> Quotient poly ideal -> Bool #

(/=) :: Quotient poly ideal -> Quotient poly ideal -> Bool #

(Field (Coefficient poly), UnitNormalForm poly, IsOrderedPolynomial poly, Reifies ideal (QIdeal poly)) => Num (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

Methods

(+) :: Quotient poly ideal -> Quotient poly ideal -> Quotient poly ideal #

(-) :: Quotient poly ideal -> Quotient poly ideal -> Quotient poly ideal #

(*) :: Quotient poly ideal -> Quotient poly ideal -> Quotient poly ideal #

negate :: Quotient poly ideal -> Quotient poly ideal #

abs :: Quotient poly ideal -> Quotient poly ideal #

signum :: Quotient poly ideal -> Quotient poly ideal #

fromInteger :: Integer -> Quotient poly ideal #

Show poly => Show (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

Methods

showsPrec :: Int -> Quotient poly ideal -> ShowS #

show :: Quotient poly ideal -> String #

showList :: [Quotient poly ideal] -> ShowS #

(Field (Coefficient poly), IsOrderedPolynomial poly, Reifies ideal (QIdeal poly)) => Ring (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

Methods

fromInteger :: Integer -> Quotient poly ideal

(Field (Coefficient poly), IsOrderedPolynomial poly, Reifies ideal (QIdeal poly)) => Rig (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

Methods

fromNatural :: Natural -> Quotient poly ideal #

(Field (Coefficient poly), IsOrderedPolynomial poly, Reifies ideal (QIdeal poly)) => Unital (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

Methods

one :: Quotient poly ideal #

pow :: Quotient poly ideal -> Natural -> Quotient poly ideal #

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

(Field (Coefficient poly), IsOrderedPolynomial poly, Reifies ideal (QIdeal poly)) => Semiring (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

(Field (Coefficient poly), IsOrderedPolynomial poly, Reifies ideal (QIdeal poly)) => Multiplicative (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

Methods

(*) :: Quotient poly ideal -> Quotient poly ideal -> Quotient poly ideal #

pow1p :: Quotient poly ideal -> Natural -> Quotient poly ideal #

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

Monoidal poly => Monoidal (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

Methods

zero :: Quotient poly ideal #

sinnum :: Natural -> Quotient poly ideal -> Quotient poly ideal #

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

Group poly => Group (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

Methods

(-) :: Quotient poly ideal -> Quotient poly ideal -> Quotient poly ideal #

negate :: Quotient poly ideal -> Quotient poly ideal #

subtract :: Quotient poly ideal -> Quotient poly ideal -> Quotient poly ideal #

times :: Integral n => n -> Quotient poly ideal -> Quotient poly ideal #

Additive poly => Additive (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

Methods

(+) :: Quotient poly ideal -> Quotient poly ideal -> Quotient poly ideal #

sinnum1p :: Natural -> Quotient poly ideal -> Quotient poly ideal #

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

Abelian poly => Abelian (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

NFData poly => NFData (Quotient poly ideal) Source # 
Instance details

Defined in Algebra.Ring.Polynomial.Quotient

Methods

rnf :: Quotient poly ideal -> () #

data QIdeal poly Source #

reifyQuotient :: (IsOrderedPolynomial poly, Field (Coefficient poly)) => Ideal poly -> (forall (ideal :: Type). Reifies ideal (QIdeal poly) => Proxy ideal -> a) -> a Source #

Reifies the ideal at the type-level. The ideal can be recovered with reflect.

modIdeal :: forall poly ideal. (IsOrderedPolynomial poly, Field (Coefficient poly), Reifies ideal (QIdeal poly)) => poly -> Quotient poly ideal Source #

Polynomial modulo ideal.

modIdeal' :: (IsOrderedPolynomial poly, Field (Coefficient poly), Reifies ideal (QIdeal poly)) => Proxy ideal -> poly -> Quotient poly ideal Source #

Polynomial modulo ideal given by Proxy.

quotRepr :: Quotient poly ideal -> poly Source #

Representative polynomial of given quotient polynomial.

withQuotient :: (IsOrderedPolynomial poly, Field (Coefficient poly)) => Ideal poly -> (forall (ideal :: Type). Reifies ideal (QIdeal poly) => Quotient poly ideal) -> poly Source #

Computes polynomial modulo ideal.

vectorRep :: forall poly ideal. (IsOrderedPolynomial poly, Reifies ideal (QIdeal poly)) => Quotient poly ideal -> Vector (Coefficient poly) Source #

genQuotVars :: forall poly ideal. (IsOrderedPolynomial poly, Field (Coefficient poly), Reifies ideal (QIdeal poly)) => [Quotient poly ideal] Source #

genQuotVars' :: forall poly ideal. (IsOrderedPolynomial poly, Field (Coefficient poly), Reifies ideal (QIdeal poly)) => Proxy ideal -> [Quotient poly ideal] Source #

gBasis' :: Reifies ideal (QIdeal poly) => Proxy ideal -> [poly] Source #

matRep0 :: forall poly ideal. (IsOrderedPolynomial poly, Field (Coefficient poly), Reifies ideal (QIdeal poly)) => Proxy poly -> Proxy ideal -> OrderedMonomial (MOrder poly) (Arity poly) -> Matrix (Coefficient poly) Source #

standardMonomials :: forall poly ideal. (IsOrderedPolynomial poly, Field (Coefficient poly), Reifies ideal (QIdeal poly)) => Maybe [Quotient poly ideal] Source #

standardMonomials' :: (IsOrderedPolynomial poly, Field (Coefficient poly), Reifies ideal (QIdeal poly)) => Proxy ideal -> Maybe [Quotient poly ideal] Source #

Find the standard monomials of the quotient ring for the zero-dimensional ideal, which are form the basis of it as k-vector space.

matRepr' :: forall poly ideal. (Field (Coefficient poly), Reifies ideal (QIdeal poly), IsOrderedPolynomial poly) => Quotient poly ideal -> Matrix (Coefficient poly) Source #

reduce :: (IsOrderedPolynomial poly, Field (Coefficient poly)) => poly -> Ideal poly -> poly Source #

Reduce polynomial modulo ideal.

multWithTable :: (IsOrderedPolynomial poly, Reifies ideal (QIdeal poly)) => Quotient poly ideal -> Quotient poly ideal -> Quotient poly ideal Source #

multUnamb :: (IsOrderedPolynomial poly, Field (Coefficient poly), Reifies ideal (QIdeal poly)) => Quotient poly ideal -> Quotient poly ideal -> Quotient poly ideal Source #