algebra-3.1: Constructive abstract algebra

Safe Haskell | None

Numeric.Algebra.Involutive

Contents

- Involution
- Involutive Algebras
- Trivial Involution

Synopsis

- class Multiplicative r => InvolutiveMultiplication r where
  - adjoint :: r -> r
- class (Semiring r, InvolutiveMultiplication r) => InvolutiveSemiring r
- class (InvolutiveSemiring r, Algebra r a) => InvolutiveAlgebra r a where
  - inv :: (a -> r) -> a -> r
- class (InvolutiveSemiring r, Coalgebra r c) => InvolutiveCoalgebra r c where
  - coinv :: (c -> r) -> c -> r
- class (Bialgebra r h, InvolutiveAlgebra r h, InvolutiveCoalgebra r h) => InvolutiveBialgebra r h
- class (Commutative r, InvolutiveMultiplication r) => TriviallyInvolutive r
- class (CommutativeAlgebra r a, TriviallyInvolutive r, InvolutiveAlgebra r a) => TriviallyInvolutiveAlgebra r a
- class (CocommutativeCoalgebra r a, TriviallyInvolutive r, InvolutiveCoalgebra r a) => TriviallyInvolutiveCoalgebra r a
- class (InvolutiveBialgebra r h, TriviallyInvolutiveAlgebra r h, TriviallyInvolutiveCoalgebra r h) => TriviallyInvolutiveBialgebra r h

# Involution

class Multiplicative r => InvolutiveMultiplication r where Source

An semigroup with involution

     adjoint a * adjoint b = adjoint (b * a)

Methods

adjoint :: r -> rSource

Instances

InvolutiveMultiplication Bool |
InvolutiveMultiplication Int |
InvolutiveMultiplication Int8 |
InvolutiveMultiplication Int16 |
InvolutiveMultiplication Int32 |
InvolutiveMultiplication Int64 |
InvolutiveMultiplication Integer |
InvolutiveMultiplication Word |
InvolutiveMultiplication Word8 |
InvolutiveMultiplication Word16 |
InvolutiveMultiplication Word32 |
InvolutiveMultiplication Word64 |
InvolutiveMultiplication () |
InvolutiveMultiplication Natural |
InvolutiveMultiplication Euclidean |
(Commutative r, Rng r, InvolutiveMultiplication r) => InvolutiveMultiplication (Complex r) |
(TriviallyInvolutive r, Rng r) => InvolutiveMultiplication (Quaternion r) |
(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveMultiplication (Dual r) |
(Commutative r, InvolutiveSemiring r, Rng r) => InvolutiveMultiplication (Hyper' r) |
(Commutative r, Group r, InvolutiveSemiring r) => InvolutiveMultiplication (Hyper r) |
(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveMultiplication (Dual' r) |
(TriviallyInvolutive r, Rng r) => InvolutiveMultiplication (Quaternion' r) |
(Commutative r, Rng r, InvolutiveMultiplication r) => InvolutiveMultiplication (Trig r) |
InvolutiveAlgebra r h => InvolutiveMultiplication (h -> r) |
(InvolutiveMultiplication a, InvolutiveMultiplication b) => InvolutiveMultiplication (a, b) |
(HasTrie h, InvolutiveAlgebra r h) => InvolutiveMultiplication (:->: h r) |
(InvolutiveMultiplication a, InvolutiveMultiplication b, InvolutiveMultiplication c) => InvolutiveMultiplication (a, b, c) |
(InvolutiveMultiplication a, InvolutiveMultiplication b, InvolutiveMultiplication c, InvolutiveMultiplication d) => InvolutiveMultiplication (a, b, c, d) |
(InvolutiveMultiplication a, InvolutiveMultiplication b, InvolutiveMultiplication c, InvolutiveMultiplication d, InvolutiveMultiplication e) => InvolutiveMultiplication (a, b, c, d, e) |

class (Semiring r, InvolutiveMultiplication r) => InvolutiveSemiring r Source

adjoint (x + y) = adjoint x + adjoint y

Instances

InvolutiveSemiring Bool |
InvolutiveSemiring Int |
InvolutiveSemiring Int8 |
InvolutiveSemiring Int16 |
InvolutiveSemiring Int32 |
InvolutiveSemiring Int64 |
InvolutiveSemiring Integer |
InvolutiveSemiring Word |
InvolutiveSemiring Word8 |
InvolutiveSemiring Word16 |
InvolutiveSemiring Word32 |
InvolutiveSemiring Word64 |
InvolutiveSemiring () |
InvolutiveSemiring Natural |
InvolutiveSemiring Euclidean |
(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveSemiring (Complex r) |
(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveSemiring (Dual r) |
(Commutative r, InvolutiveSemiring r, Rng r) => InvolutiveSemiring (Hyper' r) |
(Commutative r, Group r, InvolutiveSemiring r) => InvolutiveSemiring (Hyper r) |
(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveSemiring (Dual' r) |
(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveSemiring (Trig r) |
(InvolutiveSemiring a, InvolutiveSemiring b) => InvolutiveSemiring (a, b) |
(InvolutiveSemiring a, InvolutiveSemiring b, InvolutiveSemiring c) => InvolutiveSemiring (a, b, c) |
(InvolutiveSemiring a, InvolutiveSemiring b, InvolutiveSemiring c, InvolutiveSemiring d) => InvolutiveSemiring (a, b, c, d) |
(InvolutiveSemiring a, InvolutiveSemiring b, InvolutiveSemiring c, InvolutiveSemiring d, InvolutiveSemiring e) => InvolutiveSemiring (a, b, c, d, e) |

# Involutive Algebras

class (InvolutiveSemiring r, Algebra r a) => InvolutiveAlgebra r a where Source

Methods

inv :: (a -> r) -> a -> rSource

Instances

InvolutiveSemiring r => InvolutiveAlgebra r () |
(InvolutiveSemiring k, Rng k) => InvolutiveAlgebra k ComplexBasis |
(TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveAlgebra r QuaternionBasis |
(InvolutiveSemiring k, Rng k) => InvolutiveAlgebra k DualBasis |
(Commutative k, Group k, InvolutiveSemiring k) => InvolutiveAlgebra k HyperBasis' |
(Commutative k, Group k, InvolutiveSemiring k) => InvolutiveAlgebra k HyperBasis |
(InvolutiveSemiring k, Rng k) => InvolutiveAlgebra k DualBasis' |
(TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveAlgebra r QuaternionBasis' |
(Commutative k, Group k, InvolutiveSemiring k) => InvolutiveAlgebra k TrigBasis |
(InvolutiveAlgebra r a, InvolutiveAlgebra r b) => InvolutiveAlgebra r (a, b) |
(InvolutiveAlgebra r a, InvolutiveAlgebra r b, InvolutiveAlgebra r c) => InvolutiveAlgebra r (a, b, c) |
(InvolutiveAlgebra r a, InvolutiveAlgebra r b, InvolutiveAlgebra r c, InvolutiveAlgebra r d) => InvolutiveAlgebra r (a, b, c, d) |
(InvolutiveAlgebra r a, InvolutiveAlgebra r b, InvolutiveAlgebra r c, InvolutiveAlgebra r d, InvolutiveAlgebra r e) => InvolutiveAlgebra r (a, b, c, d, e) |

class (InvolutiveSemiring r, Coalgebra r c) => InvolutiveCoalgebra r c where Source

Methods

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

Instances

InvolutiveSemiring r => InvolutiveCoalgebra r () |
(InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k ComplexBasis |
(TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveCoalgebra r QuaternionBasis |
(InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k DualBasis |
(Commutative k, Group k, InvolutiveSemiring k) => InvolutiveCoalgebra k HyperBasis' |
(Commutative k, Group k, InvolutiveSemiring k) => InvolutiveCoalgebra k HyperBasis |
(InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k DualBasis' |
(TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveCoalgebra r QuaternionBasis' |
(Commutative k, Group k, InvolutiveSemiring k) => InvolutiveCoalgebra k TrigBasis |
(InvolutiveCoalgebra r a, InvolutiveCoalgebra r b) => InvolutiveCoalgebra r (a, b) |
(InvolutiveCoalgebra r a, InvolutiveCoalgebra r b, InvolutiveCoalgebra r c) => InvolutiveCoalgebra r (a, b, c) |
(InvolutiveCoalgebra r a, InvolutiveCoalgebra r b, InvolutiveCoalgebra r c, InvolutiveCoalgebra r d) => InvolutiveCoalgebra r (a, b, c, d) |
(InvolutiveCoalgebra r a, InvolutiveCoalgebra r b, InvolutiveCoalgebra r c, InvolutiveCoalgebra r d, InvolutiveCoalgebra r e) => InvolutiveCoalgebra r (a, b, c, d, e) |

class (Bialgebra r h, InvolutiveAlgebra r h, InvolutiveCoalgebra r h) => InvolutiveBialgebra r h Source

Instances

(Bialgebra r h, InvolutiveAlgebra r h, InvolutiveCoalgebra r h) => InvolutiveBialgebra r h |

# Trivial Involution

class (Commutative r, InvolutiveMultiplication r) => TriviallyInvolutive r Source

     adjoint = id

Instances

TriviallyInvolutive Bool |
TriviallyInvolutive Int |
TriviallyInvolutive Int8 |
TriviallyInvolutive Int16 |
TriviallyInvolutive Int32 |
TriviallyInvolutive Int64 |
TriviallyInvolutive Integer |
TriviallyInvolutive Word |
TriviallyInvolutive Word8 |
TriviallyInvolutive Word16 |
TriviallyInvolutive Word32 |
TriviallyInvolutive Word64 |
TriviallyInvolutive () |
TriviallyInvolutive Natural |
TriviallyInvolutive Euclidean |
(TriviallyInvolutive r, TriviallyInvolutiveAlgebra r a) => TriviallyInvolutive (a -> r) |
(TriviallyInvolutive a, TriviallyInvolutive b) => TriviallyInvolutive (a, b) |
(HasTrie a, TriviallyInvolutive r, TriviallyInvolutiveAlgebra r a) => TriviallyInvolutive (:->: a r) |
(TriviallyInvolutive a, TriviallyInvolutive b, TriviallyInvolutive c) => TriviallyInvolutive (a, b, c) |
(TriviallyInvolutive a, TriviallyInvolutive b, TriviallyInvolutive c, TriviallyInvolutive d) => TriviallyInvolutive (a, b, c, d) |
(TriviallyInvolutive a, TriviallyInvolutive b, TriviallyInvolutive c, TriviallyInvolutive d, TriviallyInvolutive e) => TriviallyInvolutive (a, b, c, d, e) |

class (CommutativeAlgebra r a, TriviallyInvolutive r, InvolutiveAlgebra r a) => TriviallyInvolutiveAlgebra r a Source

Instances

(TriviallyInvolutive r, InvolutiveSemiring r) => TriviallyInvolutiveAlgebra r () |
(TriviallyInvolutiveAlgebra r a, TriviallyInvolutiveAlgebra r b) => TriviallyInvolutiveAlgebra r (a, b) |
(TriviallyInvolutiveAlgebra r a, TriviallyInvolutiveAlgebra r b, TriviallyInvolutiveAlgebra r c) => TriviallyInvolutiveAlgebra r (a, b, c) |
(TriviallyInvolutiveAlgebra r a, TriviallyInvolutiveAlgebra r b, TriviallyInvolutiveAlgebra r c, TriviallyInvolutiveAlgebra r d) => TriviallyInvolutiveAlgebra r (a, b, c, d) |
(TriviallyInvolutiveAlgebra r a, TriviallyInvolutiveAlgebra r b, TriviallyInvolutiveAlgebra r c, TriviallyInvolutiveAlgebra r d, TriviallyInvolutiveAlgebra r e) => TriviallyInvolutiveAlgebra r (a, b, c, d, e) |

class (CocommutativeCoalgebra r a, TriviallyInvolutive r, InvolutiveCoalgebra r a) => TriviallyInvolutiveCoalgebra r a Source

Instances

(TriviallyInvolutive r, InvolutiveSemiring r) => TriviallyInvolutiveCoalgebra r () |
(TriviallyInvolutiveCoalgebra r a, TriviallyInvolutiveCoalgebra r b) => TriviallyInvolutiveCoalgebra r (a, b) |
(TriviallyInvolutiveCoalgebra r a, TriviallyInvolutiveCoalgebra r b, TriviallyInvolutiveCoalgebra r c) => TriviallyInvolutiveCoalgebra r (a, b, c) |
(TriviallyInvolutiveCoalgebra r a, TriviallyInvolutiveCoalgebra r b, TriviallyInvolutiveCoalgebra r c, TriviallyInvolutiveCoalgebra r d) => TriviallyInvolutiveCoalgebra r (a, b, c, d) |
(TriviallyInvolutiveCoalgebra r a, TriviallyInvolutiveCoalgebra r b, TriviallyInvolutiveCoalgebra r c, TriviallyInvolutiveCoalgebra r d, TriviallyInvolutiveCoalgebra r e) => TriviallyInvolutiveCoalgebra r (a, b, c, d, e) |

class (InvolutiveBialgebra r h, TriviallyInvolutiveAlgebra r h, TriviallyInvolutiveCoalgebra r h) => TriviallyInvolutiveBialgebra r h Source

Instances

(InvolutiveBialgebra r h, TriviallyInvolutiveAlgebra r h, TriviallyInvolutiveCoalgebra r h) => TriviallyInvolutiveBialgebra r h |