algebra-4.3: Constructive abstract algebra

Safe HaskellNone
LanguageHaskell98

Numeric.Coalgebra.Geometric

Contents

Synopsis

Geometric coalgebra primitives

newtype BasisCoblade m Source #

Constructors

BasisCoblade 

Instances

RightModule Natural (BasisCoblade m) Source # 
LeftModule Natural (BasisCoblade m) Source # 
Eigenmetric r m => Coalgebra r (BasisCoblade m) Source # 

Methods

comult :: (BasisCoblade m -> r) -> BasisCoblade m -> BasisCoblade m -> r Source #

Eigenmetric r m => CounitalCoalgebra r (BasisCoblade m) Source # 

Methods

counit :: (BasisCoblade m -> r) -> r Source #

Bounded (BasisCoblade m) Source # 
Enum (BasisCoblade m) Source # 
Eq (BasisCoblade m) Source # 
Integral (BasisCoblade m) Source # 
Num (BasisCoblade m) Source # 
Ord (BasisCoblade m) Source # 
Read (BasisCoblade m) Source # 
Real (BasisCoblade m) Source # 
Show (BasisCoblade m) Source # 
Ix (BasisCoblade m) Source # 
Bits (BasisCoblade m) Source # 
Abelian (BasisCoblade m) Source # 
Additive (BasisCoblade m) Source # 
Monoidal (BasisCoblade m) Source # 
Semiring (BasisCoblade m) Source # 
Multiplicative (BasisCoblade m) Source # 
Unital (BasisCoblade m) Source # 
DecidableAssociates (BasisCoblade m) Source # 
DecidableUnits (BasisCoblade m) Source # 
DecidableZero (BasisCoblade m) Source # 
Rig (BasisCoblade m) Source # 
Commutative (BasisCoblade m) Source # 

Operations over an eigenbasis

class Eigenbasis m where Source #

Minimal complete definition

euclidean, antiEuclidean, v, e

Methods

euclidean :: proxy m -> Bool Source #

antiEuclidean :: proxy m -> Bool Source #

v :: m -> BasisCoblade m Source #

e :: Int -> m Source #

class (Ring r, Eigenbasis m) => Eigenmetric r m where Source #

Minimal complete definition

metric

Methods

metric :: m -> r Source #

Instances

newtype Euclidean Source #

Constructors

Euclidean Int 

Instances

Enum Euclidean Source # 
Eq Euclidean Source # 
Integral Euclidean Source # 
Data Euclidean Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Euclidean -> c Euclidean #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Euclidean #

toConstr :: Euclidean -> Constr #

dataTypeOf :: Euclidean -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Euclidean) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Euclidean) #

gmapT :: (forall b. Data b => b -> b) -> Euclidean -> Euclidean #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Euclidean -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Euclidean -> r #

gmapQ :: (forall d. Data d => d -> u) -> Euclidean -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Euclidean -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Euclidean -> m Euclidean #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Euclidean -> m Euclidean #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Euclidean -> m Euclidean #

Num Euclidean Source # 
Ord Euclidean Source # 
Read Euclidean Source # 
Real Euclidean Source # 
Show Euclidean Source # 
Ix Euclidean Source # 
Abelian Euclidean Source # 
Additive Euclidean Source # 
Monoidal Euclidean Source # 
Semiring Euclidean Source # 
Multiplicative Euclidean Source # 
Group Euclidean Source # 
Unital Euclidean Source # 
Rig Euclidean Source # 
Ring Euclidean Source # 
Commutative Euclidean Source # 
TriviallyInvolutive Euclidean Source # 
InvolutiveSemiring Euclidean Source # 
InvolutiveMultiplication Euclidean Source # 
Eigenbasis Euclidean Source # 
RightModule Integer Euclidean Source # 
RightModule Natural Euclidean Source # 
LeftModule Integer Euclidean Source # 
LeftModule Natural Euclidean Source # 
Ring r => Eigenmetric r Euclidean Source # 

Methods

metric :: Euclidean -> r Source #

Grade

Inversions

Products

Inner products