algebra-2.1.1.1: Constructive abstract algebra

Safe HaskellSafe-Infered

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' 
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