clifford-0.1.0.4: A Clifford algebra library

Safe HaskellNone

Numeric.Clifford.Blade

Synopsis

Documentation

data Blade p q f whereSource

Constructors

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

Fields

_scale :: f
 
_indices :: [Natural]
 

Instances

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

scale :: Lens' (Blade p q f) fSource

indices :: Lens' (Blade p q f) [Natural]Source

dimension :: forall p q f. (SingI p, SingI q) => Blade p q f -> (Natural, Natural)Source

bScale :: Blade p q a -> aSource

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

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

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

bladeNegate :: C a => Blade p q a -> Blade p q aSource

bladeScaleLeft :: (SingI Nat p, SingI Nat q) => t2 -> Blade t t1 t2 -> Blade p q t2Source

bladeScaleRight :: (SingI Nat p, SingI Nat q) => t2 -> Blade t t1 t2 -> Blade p q t2Source

bladeNormalForm :: forall p q f. Blade p q f -> Blade p q fSource

bladeGetGrade :: Integer -> Blade p q f -> Blade p q fSource

bladeMul :: Blade p q f -> Blade p q f -> Blade p q fSource

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

bWedge :: Blade p q f -> Blade p q f -> Blade p q fSource

bDot :: Blade p q f -> Blade p q f -> Blade p q fSource

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

makeArbitrary ''Blade)

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