algebra-4.2: Constructive abstract algebra

Safe HaskellNone
LanguageHaskell98

Numeric.Algebra.Quaternion

Synopsis

Documentation

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