algebra-3.1: Constructive abstract algebra

Safe Haskell | None

Numeric.Coalgebra.Dual

Synopsis

- class Distinguished t where
  - e :: t
- class Distinguished t => Infinitesimal t where
  - d :: t
- data DualBasis'
  - = E
  - | D
- data Dual' a = Dual' a a

# Documentation

class Distinguished t where Source

Methods

e :: tSource

Instances

Distinguished ComplexBasis |
Distinguished QuaternionBasis |
Distinguished DualBasis |
Distinguished DualBasis' |
Distinguished QuaternionBasis' |
Distinguished TrigBasis |
Rig r => Distinguished (Complex r) |
Rig r => Distinguished (Quaternion r) |
Rig r => Distinguished (Dual r) |
Rig r => Distinguished (Dual' r) |
Rig r => Distinguished (Quaternion' r) |
Rig r => Distinguished (Trig r) |
Rig r => Distinguished (ComplexBasis -> r) |
Rig r => Distinguished (QuaternionBasis -> r) |
Rig r => Distinguished (DualBasis -> r) |
Rig r => Distinguished (DualBasis' -> r) |
Rig r => Distinguished (QuaternionBasis' -> r) |
Rig r => Distinguished (TrigBasis -> r) |
Rig r => Distinguished (:->: ComplexBasis r) |
Rig r => Distinguished (:->: QuaternionBasis r) |
Rig r => Distinguished (:->: QuaternionBasis' r) |
Rig r => Distinguished (:->: TrigBasis r) |
Distinguished a => Distinguished (Covector r a) |

class Distinguished t => Infinitesimal t where Source

Methods

d :: tSource

Instances

Infinitesimal DualBasis |
Infinitesimal DualBasis' |
Rig r => Infinitesimal (Dual r) |
Rig r => Infinitesimal (Dual' r) |
Rig r => Infinitesimal (DualBasis -> r) |
Rig r => Infinitesimal (DualBasis' -> r) |
Infinitesimal a => Infinitesimal (Covector r a) |

data DualBasis' Source

dual number basis, D^2 = 0. D /= 0.

Constructors

E |
D |

Instances

Bounded DualBasis' |
Enum DualBasis' |
Eq DualBasis' |
Data DualBasis' |
Ord DualBasis' |
Read DualBasis' |
Show DualBasis' |
Ix DualBasis' |
Typeable DualBasis' |
HasTrie DualBasis' |
Distinguished DualBasis' |
Infinitesimal DualBasis' |
MonadReader DualBasis' Dual' |
Rng k => Coalgebra k DualBasis' |
Semiring k => Algebra k DualBasis' |
Rng k => Bialgebra k DualBasis' |
Rng k => CounitalCoalgebra k DualBasis' |
Semiring k => UnitalAlgebra k DualBasis' |
(InvolutiveSemiring k, Rng k) => HopfAlgebra k DualBasis' |
(InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k DualBasis' |
(InvolutiveSemiring k, Rng k) => InvolutiveAlgebra k DualBasis' |
Rig r => Distinguished (DualBasis' -> r) |
Rig r => Infinitesimal (DualBasis' -> r) |

data Dual' a Source

Constructors

Dual' a a |

Instances

Monad Dual' |
Functor Dual' |
Typeable1 Dual' |
Applicative Dual' |
Foldable Dual' |
Traversable Dual' |
Distributive Dual' |
Keyed Dual' |
Zip Dual' |
ZipWithKey Dual' |
Indexable Dual' |
Lookup Dual' |
Adjustable Dual' |
FoldableWithKey Dual' |
FoldableWithKey1 Dual' |
TraversableWithKey Dual' |
TraversableWithKey1 Dual' |
Representable Dual' |
Traversable1 Dual' |
Foldable1 Dual' |
Apply Dual' |
Bind Dual' |
MonadReader DualBasis' Dual' |
RightModule r s => RightModule r (Dual' s) |
LeftModule r s => LeftModule r (Dual' s) |
(Commutative r, Rng r, InvolutiveSemiring r) => Quadrance r (Dual' r) |
Eq a => Eq (Dual' a) |
Data a => Data (Dual' a) |
Read a => Read (Dual' a) |
Show a => Show (Dual' a) |
Idempotent r => Idempotent (Dual' r) |
Abelian r => Abelian (Dual' r) |
Partitionable r => Partitionable (Dual' r) |
Additive r => Additive (Dual' r) |
Monoidal r => Monoidal (Dual' r) |
(Commutative r, Rng r) => Semiring (Dual' r) |
(Commutative r, Rng r) => Multiplicative (Dual' r) |
Group r => Group (Dual' r) |
(Commutative r, Ring r) => Unital (Dual' r) |
(Commutative r, InvolutiveSemiring r, DivisionRing r) => Division (Dual' r) |
(Commutative r, Ring r) => Rig (Dual' r) |
(Commutative r, Ring r) => Ring (Dual' r) |
(TriviallyInvolutive r, Rng r) => Commutative (Dual' r) |
(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveSemiring (Dual' r) |
(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveMultiplication (Dual' r) |
Rig r => Distinguished (Dual' r) |
Rig r => Infinitesimal (Dual' r) |
(Commutative r, Rng r) => RightModule (Dual' r) (Dual' r) |
(Commutative r, Rng r) => LeftModule (Dual' r) (Dual' r) |