algebra-3.1: Constructive abstract algebra

Safe Haskell | None

Numeric.Algebra.Complex

Synopsis

- class Distinguished t where
  - e :: t
- class Distinguished r => Complicated r where
  - i :: r
- data ComplexBasis
  - = E
  - | I
- data Complex a = Complex a a
- realPart :: (Representable f, Key f ~ ComplexBasis) => f a -> a
- imagPart :: (Representable f, Key f ~ ComplexBasis) => f a -> a
- uncomplicate :: Hamiltonian q => ComplexBasis -> ComplexBasis -> q

# Documentation

class Distinguished t where Source

Methods

e :: tSource

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) |
Rig r => Distinguished (:->: ComplexBasis r) |
Rig r => Distinguished (:->: QuaternionBasis 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 :: rSource

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

data ComplexBasis Source

Constructors

E |
I |

Instances

Bounded ComplexBasis |
Enum ComplexBasis |
Eq ComplexBasis |
Data ComplexBasis |
Ord ComplexBasis |
Read ComplexBasis |
Show ComplexBasis |
Ix ComplexBasis |
Typeable ComplexBasis |
HasTrie ComplexBasis |
Distinguished ComplexBasis |
Complicated ComplexBasis |
MonadReader ComplexBasis Complex |
Rng k => Coalgebra k ComplexBasis |
Rng k => Algebra k ComplexBasis |
Rng k => Bialgebra k ComplexBasis |
Rng k => CounitalCoalgebra k ComplexBasis |
Rng k => UnitalAlgebra k ComplexBasis |
(InvolutiveSemiring k, Rng k) => HopfAlgebra k ComplexBasis |
(InvolutiveSemiring k, Rng k) => InvolutiveCoalgebra k ComplexBasis |
(InvolutiveSemiring k, Rng k) => InvolutiveAlgebra k ComplexBasis |
Rig r => Distinguished (ComplexBasis -> r) |
Rig r => Distinguished (:->: ComplexBasis r) |
Rig r => Complicated (ComplexBasis -> r) |
Rig r => Complicated (:->: ComplexBasis r) |

data Complex a Source

Constructors

Complex a a |

Instances

Monad Complex |
Functor Complex |
Typeable1 Complex |
Applicative Complex |
Foldable Complex |
Traversable Complex |
Distributive Complex |
Keyed Complex |
Zip Complex |
ZipWithKey Complex |
Indexable Complex |
Lookup Complex |
Adjustable Complex |
FoldableWithKey Complex |
FoldableWithKey1 Complex |
TraversableWithKey Complex |
TraversableWithKey1 Complex |
Representable Complex |
Traversable1 Complex |
Foldable1 Complex |
Apply Complex |
Bind Complex |
MonadReader ComplexBasis Complex |
RightModule r s => RightModule r (Complex s) |
LeftModule r s => LeftModule r (Complex s) |
(Commutative r, Rng r, InvolutiveSemiring r) => Quadrance r (Complex r) |
Eq a => Eq (Complex a) |
Data a => Data (Complex a) |
Read a => Read (Complex a) |
Show a => Show (Complex a) |
Idempotent r => Idempotent (Complex r) |
Abelian r => Abelian (Complex r) |
Partitionable r => Partitionable (Complex r) |
Additive r => Additive (Complex r) |
Monoidal r => Monoidal (Complex r) |
(Commutative r, Rng r) => Semiring (Complex r) |
(Commutative r, Rng r) => Multiplicative (Complex r) |
Group r => Group (Complex r) |
(Commutative r, Ring r) => Unital (Complex r) |
(Commutative r, InvolutiveSemiring r, DivisionRing r) => Division (Complex r) |
(Commutative r, Ring r) => Rig (Complex r) |
(Commutative r, Ring r) => Ring (Complex r) |
(TriviallyInvolutive r, Rng r) => Commutative (Complex r) |
(Commutative r, Rng r, InvolutiveSemiring r) => InvolutiveSemiring (Complex r) |
(Commutative r, Rng r, InvolutiveMultiplication r) => InvolutiveMultiplication (Complex r) |
Rig r => Distinguished (Complex r) |
Rig r => Complicated (Complex r) |
(Commutative r, Rng r) => RightModule (Complex r) (Complex r) |
(Commutative r, Rng r) => LeftModule (Complex r) (Complex r) |

realPart :: (Representable f, Key f ~ ComplexBasis) => f a -> aSource

imagPart :: (Representable f, Key f ~ ComplexBasis) => f a -> aSource

uncomplicate :: Hamiltonian q => ComplexBasis -> ComplexBasis -> qSource

half of the Cayley-Dickson quaternion isomorphism