algebra-4.2: Constructive abstract algebra

Numeric.Algebra.Unital

Synopsis

# Unital Multiplication (Multiplicative monoid)

class Multiplicative r => Unital r where Source

Minimal complete definition

one

Methods

one :: r Source

pow :: r -> Natural -> r infixr 8 Source

productWith :: Foldable f => (a -> r) -> f a -> r Source

Instances

 Unital Bool Unital Int Unital Int8 Unital Int16 Unital Int32 Unital Int64 Unital Integer Unital Word Unital Word8 Unital Word16 Unital Word32 Unital Word64 Unital () Unital Natural Unital Euclidean (Commutative r, Ring r) => Unital (Complex r) (TriviallyInvolutive r, Ring r) => Unital (Quaternion r) (Commutative r, Ring r) => Unital (Dual r) (Commutative k, Rig k) => Unital (Hyper' k) (Commutative k, Rig k) => Unital (Hyper k) (Commutative r, Ring r) => Unital (Dual' r) Unital (BasisCoblade m) (TriviallyInvolutive r, Ring r) => Unital (Quaternion' r) (Commutative k, Ring k) => Unital (Trig k) Monoidal r => Unital (Exp r) Unital (End r) Unital r => Unital (Opposite r) Rng r => Unital (RngRing r) Euclidean d => Unital (Fraction d) (Unital r, UnitalAlgebra r a) => Unital (a -> r) (Unital a, Unital b) => Unital (a, b) CounitalCoalgebra r m => Unital (Covector r m) (Unital a, Unital b, Unital c) => Unital (a, b, c) CounitalCoalgebra r m => Unital (Map r b m) (Unital a, Unital b, Unital c, Unital d) => Unital (a, b, c, d) (Unital a, Unital b, Unital c, Unital d, Unital e) => Unital (a, b, c, d, e)

product :: (Foldable f, Unital r) => f r -> r Source

# Unital Associative Algebra

class Algebra r a => UnitalAlgebra r a where Source

An associative unital algebra over a semiring, built using a free module

Methods

unit :: r -> a -> r Source

Instances

 Semiring r => UnitalAlgebra r () Rng k => UnitalAlgebra k ComplexBasis (TriviallyInvolutive r, Rng r) => UnitalAlgebra r QuaternionBasis Rng k => UnitalAlgebra k DualBasis (Commutative k, Monoidal k, Semiring k) => UnitalAlgebra k HyperBasis' Semiring k => UnitalAlgebra k HyperBasis Semiring k => UnitalAlgebra k DualBasis' (TriviallyInvolutive r, Semiring r) => UnitalAlgebra r QuaternionBasis' (Commutative k, Rng k) => UnitalAlgebra k TrigBasis (Monoidal r, Semiring r) => UnitalAlgebra r (Seq a) (Monoidal r, Semiring r) => UnitalAlgebra r [a] (Commutative r, Monoidal r, Semiring r, LocallyFiniteOrder a) => UnitalAlgebra r (Interval a) (UnitalAlgebra r a, UnitalAlgebra r b) => UnitalAlgebra r (a, b) (UnitalAlgebra r a, UnitalAlgebra r b, UnitalAlgebra r c) => UnitalAlgebra r (a, b, c) (UnitalAlgebra r a, UnitalAlgebra r b, UnitalAlgebra r c, UnitalAlgebra r d) => UnitalAlgebra r (a, b, c, d) (UnitalAlgebra r a, UnitalAlgebra r b, UnitalAlgebra r c, UnitalAlgebra r d, UnitalAlgebra r e) => UnitalAlgebra r (a, b, c, d, e)

# Unital Coassociative Coalgebra

class Coalgebra r c => CounitalCoalgebra r c where Source

Methods

counit :: (c -> r) -> r Source

Instances

 Semiring r => CounitalCoalgebra r () Rng k => CounitalCoalgebra k ComplexBasis (TriviallyInvolutive r, Rng r) => CounitalCoalgebra r QuaternionBasis Rng k => CounitalCoalgebra k DualBasis (Commutative k, Monoidal k, Semiring k) => CounitalCoalgebra k HyperBasis' (Commutative k, Semiring k) => CounitalCoalgebra k HyperBasis Rng k => CounitalCoalgebra k DualBasis' (TriviallyInvolutive r, Rng r) => CounitalCoalgebra r QuaternionBasis' (Commutative k, Rng k) => CounitalCoalgebra k TrigBasis Semiring r => CounitalCoalgebra r (Seq a) Semiring r => CounitalCoalgebra r [a] (Commutative r, Monoidal r, Semiring r, PartialMonoid a) => CounitalCoalgebra r (Morphism a) (Eq a, Bounded a, Commutative r, Monoidal r, Semiring r) => CounitalCoalgebra r (Interval' a) Eigenmetric r m => CounitalCoalgebra r (BasisCoblade m) (CounitalCoalgebra r a, CounitalCoalgebra r b) => CounitalCoalgebra r (a, b) (Unital r, UnitalAlgebra r m) => CounitalCoalgebra r (m -> r) (CounitalCoalgebra r a, CounitalCoalgebra r b, CounitalCoalgebra r c) => CounitalCoalgebra r (a, b, c) (CounitalCoalgebra r a, CounitalCoalgebra r b, CounitalCoalgebra r c, CounitalCoalgebra r d) => CounitalCoalgebra r (a, b, c, d) (CounitalCoalgebra r a, CounitalCoalgebra r b, CounitalCoalgebra r c, CounitalCoalgebra r d, CounitalCoalgebra r e) => CounitalCoalgebra r (a, b, c, d, e)

# Bialgebra

class (UnitalAlgebra r a, CounitalCoalgebra r a) => Bialgebra r a Source

A bialgebra is both a unital algebra and counital coalgebra where the `mult` and `unit` are compatible in some sense with the `comult` and `counit`. That is to say that `mult` and `unit` are a coalgebra homomorphisms or (equivalently) that `comult` and `counit` are an algebra homomorphisms.

Instances

 Semiring r => Bialgebra r () Rng k => Bialgebra k ComplexBasis (TriviallyInvolutive r, Rng r) => Bialgebra r QuaternionBasis Rng k => Bialgebra k DualBasis (Commutative k, Monoidal k, Semiring k) => Bialgebra k HyperBasis' (Commutative k, Semiring k) => Bialgebra k HyperBasis Rng k => Bialgebra k DualBasis' (TriviallyInvolutive r, Rng r) => Bialgebra r QuaternionBasis' (Commutative k, Rng k) => Bialgebra k TrigBasis (Monoidal r, Semiring r) => Bialgebra r (Seq a) (Monoidal r, Semiring r) => Bialgebra r [a] (Bialgebra r a, Bialgebra r b) => Bialgebra r (a, b) (Bialgebra r a, Bialgebra r b, Bialgebra r c) => Bialgebra r (a, b, c) (Bialgebra r a, Bialgebra r b, Bialgebra r c, Bialgebra r d) => Bialgebra r (a, b, c, d) (Bialgebra r a, Bialgebra r b, Bialgebra r c, Bialgebra r d, Bialgebra r e) => Bialgebra r (a, b, c, d, e)