algebra-0.7.0: Constructive abstract algebra

Numeric.Coalgebra.Quaternion

Synopsis

Documentation

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' 
Foldable1 Quaternion' 
Traversable1 Quaternion' 
Keyed Quaternion' 
Zip Quaternion' 
ZipWithKey Quaternion' 
Indexable Quaternion' 
Lookup Quaternion' 
Adjustable Quaternion' 
FoldableWithKey Quaternion' 
FoldableWithKey1 Quaternion' 
TraversableWithKey Quaternion' 
TraversableWithKey1 Quaternion' 
Representable 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