algebra-4.2: Constructive abstract algebra

Numeric.Algebra.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 the trivial diagonal coalgebra (TriviallyInvolutive r, Rng r) => Algebra r QuaternionBasis the quaternion algebra (TriviallyInvolutive r, Rng r) => Bialgebra r QuaternionBasis (TriviallyInvolutive r, Rng r) => CounitalCoalgebra r QuaternionBasis (TriviallyInvolutive r, Rng 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, Rng r) => Semiring (Quaternion r) (TriviallyInvolutive r, Rng 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