- newtype Blade m = Blade {}
- type Multivector r m = Blade m :->: r
- type Comultivector r m = Covector r (Blade m)
- class Eigenbasis m where
- class (Ring r, Eigenbasis m) => Eigenmetric r m where
- metric :: m -> r
- grade :: Blade m -> Int
- filterGrade :: Monoidal r => Blade m -> Int -> Covector r (Blade m)
- reverse :: Group r => Blade m -> Comultivector r m
- gradeInversion :: Group r => Blade m -> Comultivector r m
- cliffordConjugate :: Group r => Blade m -> Comultivector r m
- geometric :: Eigenmetric r m => Blade m -> Blade m -> Comultivector r m
- outer :: Eigenmetric r m => Blade m -> Blade m -> Comultivector r m
- contractL :: Eigenmetric r m => Blade m -> Blade m -> Comultivector r m
- contractR :: Eigenmetric r m => Blade m -> Blade m -> Comultivector r m
- hestenes :: Eigenmetric r m => Blade m -> Blade m -> Comultivector r m
- dot :: Eigenmetric r m => Blade m -> Blade m -> Comultivector r m
- liftProduct :: (Blade m -> Blade m -> Comultivector r m) -> Comultivector r m -> Comultivector r m -> Comultivector r m
Geometric algebra primitives
RightModule Natural (Blade m) | |
LeftModule Natural (Blade m) | |
Eigenmetric r m => Coalgebra r (Blade m) | |
Eigenmetric r m => CounitalCoalgebra r (Blade m) | |
Bounded (Blade m) | |
Enum (Blade m) | |
Eq (Blade m) | |
Integral (Blade m) | |
Num (Blade m) | |
Ord (Blade m) | |
Read (Blade m) | |
Real (Blade m) | |
Show (Blade m) | |
Ix (Blade m) | |
Bits (Blade m) | |
HasTrie (Blade m) | |
Abelian (Blade m) | |
Additive (Blade m) | |
Monoidal (Blade m) | |
Semiring (Blade m) | |
Multiplicative (Blade m) | |
Unital (Blade m) | |
DecidableAssociates (Blade m) | |
DecidableUnits (Blade m) | |
DecidableZero (Blade m) | |
Rig (Blade m) | |
Commutative (Blade m) |
type Multivector r m = Blade m :->: rSource
type Comultivector r m = Covector r (Blade m)Source
Operations over an eigenbasis
class Eigenbasis m whereSource
Eigenbasis Euclidean |
class (Ring r, Eigenbasis m) => Eigenmetric r m whereSource
Ring r => Eigenmetric r Euclidean |
Grade
Inversions
reverse :: Group r => Blade m -> Comultivector r mSource
gradeInversion :: Group r => Blade m -> Comultivector r mSource
cliffordConjugate :: Group r => Blade m -> Comultivector r mSource
Products
geometric :: Eigenmetric r m => Blade m -> Blade m -> Comultivector r mSource
outer :: Eigenmetric r m => Blade m -> Blade m -> Comultivector r mSource
Inner products
contractL :: Eigenmetric r m => Blade m -> Blade m -> Comultivector r mSource
contractR :: Eigenmetric r m => Blade m -> Blade m -> Comultivector r mSource
hestenes :: Eigenmetric r m => Blade m -> Blade m -> Comultivector r mSource
dot :: Eigenmetric r m => Blade m -> Blade m -> Comultivector r mSource
liftProduct :: (Blade m -> Blade m -> Comultivector r m) -> Comultivector r m -> Comultivector r m -> Comultivector r mSource