clifford-0.1.0.0: A Clifford algebra library

Safe HaskellNone

Numeric.Clifford.Blade

Synopsis

Documentation

data Blade n f whereSource

Constructors

Blade :: forall n f. (SingI n, C f) => f -> [Natural] -> Blade n f 

Fields

_scale :: f
 
_indices :: [Natural]
 

Instances

(C f, Eq f) => Eq (Blade n f) 
(C f, Ord f) => Ord (Blade n f) 
Show f => Show (Blade n f) 
NFData f => NFData (Blade n f) 

dimension :: forall n f. SingI n => Blade n f -> NaturalSource

bScale :: Blade n a -> aSource

scalarBlade :: (C f, SingI n) => f -> Blade n fSource

zeroBlade :: (C f, SingI n) => Blade n fSource

bladeNonZero :: (Eq a, C a) => Blade n a -> BoolSource

bladeNegate :: C a => Blade n a -> Blade n aSource

bladeScaleLeft :: SingI Nat n => t1 -> Blade t t1 -> Blade n t1Source

bladeScaleRight :: SingI Nat n => t1 -> Blade t t1 -> Blade n t1Source

bladeNormalForm :: forall n f. Blade n f -> Blade n fSource

bladeMul :: Blade n f -> Blade n f -> Blade n fSource

multiplyBladeList :: (SingI n, C f) => [Blade n f] -> Blade n fSource

bWedge :: Blade n f -> Blade n f -> Blade n fSource

bDot :: Blade n f -> Blade n f -> Blade n fSource

propBladeDotAssociative :: (Eq f, C f) => Blade n f -> Blade n f -> Blade n f -> BoolSource

makeArbitrary ''Blade)

propCommutativeAddition :: (Eq a, C a) => a -> a -> BoolSource