halg-core-0.6.0.0: Core types and functions of halg computational algebra suite.
Safe HaskellNone
LanguageHaskell2010

Algebra.Ring.Euclidean.Quotient

Description

Quotient rings for eulidean domains.

See Algebra.Ring.Polynomial.Quotient in halg-polynomial for an ideal quotient rings of polynomial ring.

Documentation

data Quotient r a Source #

Instances

Instances details
(Euclidean a, RightModule c a, Reifies r a) => RightModule c (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

Methods

(*.) :: Quotient r a -> c -> Quotient r a #

(Euclidean a, LeftModule c a, Reifies r a) => LeftModule c (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

Methods

(.*) :: c -> Quotient r a -> Quotient r a #

Eq a => Eq (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

Methods

(==) :: Quotient r a -> Quotient r a -> Bool #

(/=) :: Quotient r a -> Quotient r a -> Bool #

Ord a => Ord (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

Methods

compare :: Quotient r a -> Quotient r a -> Ordering #

(<) :: Quotient r a -> Quotient r a -> Bool #

(<=) :: Quotient r a -> Quotient r a -> Bool #

(>) :: Quotient r a -> Quotient r a -> Bool #

(>=) :: Quotient r a -> Quotient r a -> Bool #

max :: Quotient r a -> Quotient r a -> Quotient r a #

min :: Quotient r a -> Quotient r a -> Quotient r a #

(Show a, Reifies r a) => Show (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

Methods

showsPrec :: Int -> Quotient r a -> ShowS #

show :: Quotient r a -> String #

showList :: [Quotient r a] -> ShowS #

(Euclidean a, Reifies r a) => Ring (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

Methods

fromInteger :: Integer -> Quotient r a

(Euclidean a, Reifies r a) => Rig (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

Methods

fromNatural :: Natural -> Quotient r a #

(Euclidean a, Reifies r a) => DecidableZero (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

Methods

isZero :: Quotient r a -> Bool #

(Euclidean a, Reifies r a) => DecidableUnits (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

Methods

recipUnit :: Quotient r a -> Maybe (Quotient r a) #

isUnit :: Quotient r a -> Bool #

(^?) :: Integral n => Quotient r a -> n -> Maybe (Quotient r a) #

(Euclidean a, Reifies r a) => DecidableAssociates (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

Methods

isAssociate :: Quotient r a -> Quotient r a -> Bool #

(Euclidean a, Reifies r a) => Unital (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

Methods

one :: Quotient r a #

pow :: Quotient r a -> Natural -> Quotient r a #

productWith :: Foldable f => (a0 -> Quotient r a) -> f a0 -> Quotient r a #

(Euclidean a, Reifies r a) => Commutative (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

(Euclidean a, Reifies r a) => Semiring (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

(Euclidean a, Reifies r a) => Multiplicative (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

Methods

(*) :: Quotient r a -> Quotient r a -> Quotient r a #

pow1p :: Quotient r a -> Natural -> Quotient r a #

productWith1 :: Foldable1 f => (a0 -> Quotient r a) -> f a0 -> Quotient r a #

(Euclidean a, Reifies r a) => Monoidal (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

Methods

zero :: Quotient r a #

sinnum :: Natural -> Quotient r a -> Quotient r a #

sumWith :: Foldable f => (a0 -> Quotient r a) -> f a0 -> Quotient r a #

(Euclidean a, Reifies r a) => Group (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

Methods

(-) :: Quotient r a -> Quotient r a -> Quotient r a #

negate :: Quotient r a -> Quotient r a #

subtract :: Quotient r a -> Quotient r a -> Quotient r a #

times :: Integral n => n -> Quotient r a -> Quotient r a #

(Euclidean a, Reifies r a) => Additive (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

Methods

(+) :: Quotient r a -> Quotient r a -> Quotient r a #

sinnum1p :: Natural -> Quotient r a -> Quotient r a #

sumWith1 :: Foldable1 f => (a0 -> Quotient r a) -> f a0 -> Quotient r a #

(Euclidean a, Reifies r a) => Abelian (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

(Show a, Reifies r a, DecidableZero a) => PrettyCoeff (Quotient r a) Source # 
Instance details

Defined in Algebra.Ring.Euclidean.Quotient

withQuotient :: forall a. Euclidean a => a -> (forall (r :: Type). Reifies r a => Quotient r a) -> a Source #

reifyQuotient :: forall a r. Euclidean a => a -> (forall (s :: Type). Reifies s a => Proxy s -> r) -> r Source #

reifyIdealQuotient :: forall a r. Euclidean a => Ideal a -> (forall (s :: Type). Reifies s a => Proxy s -> r) -> r Source #

withIdealQuotient :: Euclidean a => Ideal a -> (forall (r :: Type). Reifies r a => Quotient r a) -> a Source #

quotient :: forall r a. (Reifies r a, Euclidean a) => a -> Quotient r a Source #

quotientBy :: forall r a proxy. (Reifies r a, Euclidean a) => proxy r -> a -> Quotient r a Source #