algebra-4.2: Constructive abstract algebra

Numeric.Coalgebra.Quaternion

Synopsis

# Documentation

class Distinguished t where Source

Methods

e :: t Source

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) Distinguished a => Distinguished (Covector r a)

class Distinguished r => Complicated r where Source

Methods

i :: r Source

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) Complicated a => Complicated (Covector r a)

class Complicated t => Hamiltonian t where Source

Methods

j :: t Source

k :: t Source

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) Hamiltonian a => Hamiltonian (Covector r a)

Constructors

 E' I' J' K'

Instances

 Bounded QuaternionBasis' Enum QuaternionBasis' Eq QuaternionBasis' Data QuaternionBasis' Ord QuaternionBasis' Read QuaternionBasis' Show QuaternionBasis' Ix QuaternionBasis' Distinguished QuaternionBasis' Complicated QuaternionBasis' Hamiltonian QuaternionBasis' Typeable * 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 => Complicated (QuaternionBasis' -> r) Rig r => Hamiltonian (QuaternionBasis' -> r)

data Quaternion' a Source

Constructors

 Quaternion' a a a a

Instances

 Monad Quaternion' Functor Quaternion' Applicative Quaternion' Foldable Quaternion' Traversable Quaternion' Distributive 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) Typeable (* -> *) Quaternion' type Rep Quaternion' = QuaternionBasis'

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

Cayley-Dickson quaternion isomorphism (one way)

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