algebra-0.8.0: Constructive abstract algebra

Numeric.Algebra.Unital

Synopsis

# Unital Multiplication (Multiplicative monoid)

class Multiplicative r => Unital r whereSource

Methods

one :: rSource

pow :: Whole n => r -> n -> rSource

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

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) (Commutative k, Ring k) => Unital (Trig k) Unital (BasisCoblade m) (TriviallyInvolutive r, Ring r) => Unital (Quaternion' r) Monoidal r => Unital (Exp r) Rng r => Unital (RngRing r) Unital r => Unital (Opposite r) Unital (End r) (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 -> rSource

# Unital Associative Algebra

class Algebra r a => UnitalAlgebra r a whereSource

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

Methods

unit :: r -> a -> rSource

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' (Commutative k, Rng k) => UnitalAlgebra k TrigBasis (TriviallyInvolutive r, Semiring r) => UnitalAlgebra r QuaternionBasis' (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 whereSource

Methods

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

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' (Commutative k, Rng k) => CounitalCoalgebra k TrigBasis (TriviallyInvolutive r, Rng r) => CounitalCoalgebra r QuaternionBasis' Semiring r => CounitalCoalgebra r (Seq a) Semiring r => CounitalCoalgebra r [a] (Commutative r, Monoidal r, Semiring r, PartialMonoid a) => CounitalCoalgebra r (Morphism 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' (Commutative k, Rng k) => Bialgebra k TrigBasis (TriviallyInvolutive r, Rng r) => Bialgebra r QuaternionBasis' (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)