algebra-3.1: Constructive abstract algebra

Safe Haskell | None

Numeric.Coalgebra.Quaternion

Synopsis

- class Distinguished t where
  - e :: t
- class Distinguished r => Complicated r where
  - i :: r
- class Complicated t => Hamiltonian t where
  - j :: t
  - k :: t
- data QuaternionBasis'
  - = E'
  - | I'
  - | J'
  - | K'
- data Quaternion' a = Quaternion' a a a a
- complicate' :: Complicated c => QuaternionBasis' -> (c, c)
- vectorPart' :: (Representable f, Key f ~ QuaternionBasis') => f r -> (r, r, r)
- scalarPart' :: (Representable f, Key f ~ QuaternionBasis') => f r -> r

# 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 r => Complicated r where Source

Methods

i :: rSource

Instances

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

class Complicated t => Hamiltonian t where Source

Methods

j :: tSource

k :: tSource

Instances

Hamiltonian QuaternionBasis |
Hamiltonian QuaternionBasis' |
Rig r => Hamiltonian (Quaternion r) |
Rig r => Hamiltonian (Quaternion' r) |
Rig r => Hamiltonian (QuaternionBasis -> r) |
Rig r => Hamiltonian (QuaternionBasis' -> r) |
Rig r => Hamiltonian (:->: QuaternionBasis r) |
Rig r => Hamiltonian (:->: QuaternionBasis' r) |
Hamiltonian a => Hamiltonian (Covector r a) |

data QuaternionBasis' Source

Constructors

E' |
I' |
J' |
K' |

Instances

Bounded QuaternionBasis' |
Enum QuaternionBasis' |
Eq QuaternionBasis' |
Data QuaternionBasis' |
Ord QuaternionBasis' |
Read QuaternionBasis' |
Show QuaternionBasis' |
Ix QuaternionBasis' |
Typeable QuaternionBasis' |
HasTrie QuaternionBasis' |
Distinguished QuaternionBasis' |
Complicated QuaternionBasis' |
Hamiltonian QuaternionBasis' |
MonadReader QuaternionBasis' Quaternion' |
(TriviallyInvolutive r, Rng r) => Coalgebra r QuaternionBasis' | dual quaternion comultiplication
(TriviallyInvolutive r, Semiring r) => Algebra r QuaternionBasis' | the trivial diagonal algebra
(TriviallyInvolutive r, Rng r) => Bialgebra r QuaternionBasis' |
(TriviallyInvolutive r, Rng r) => CounitalCoalgebra r QuaternionBasis' |
(TriviallyInvolutive r, Semiring r) => UnitalAlgebra r QuaternionBasis' |
(TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => HopfAlgebra r QuaternionBasis' |
(TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveCoalgebra r QuaternionBasis' |
(TriviallyInvolutive r, InvolutiveSemiring r, Rng r) => InvolutiveAlgebra r QuaternionBasis' |
Rig r => Distinguished (QuaternionBasis' -> r) |
Rig r => Distinguished (:->: QuaternionBasis' r) |
Rig r => Complicated (QuaternionBasis' -> r) |
Rig r => Complicated (:->: QuaternionBasis' r) |
Rig r => Hamiltonian (QuaternionBasis' -> r) |
Rig r => Hamiltonian (:->: QuaternionBasis' r) |

data Quaternion' a Source

Constructors

Quaternion' a a a a |

Instances

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

complicate' :: Complicated c => QuaternionBasis' -> (c, c)Source

Cayley-Dickson quaternion isomorphism (one way)

vectorPart' :: (Representable f, Key f ~ QuaternionBasis') => f r -> (r, r, r)Source

scalarPart' :: (Representable f, Key f ~ QuaternionBasis') => f r -> rSource