clifford-0.1.0.13: A Clifford algebra library

Safe HaskellNone

Numeric.Clifford.Blade

Synopsis

Documentation

data Blade p q f whereSource

Constructors

Blade :: forall p q f. (C f, SingI p, SingI q) => 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) 
(SingI Nat p, SingI Nat q, C f, Arbitrary f) => Arbitrary (Blade p q f) 
NFData f => NFData (Blade p q f) 

scale :: (Functor f, SingI Nat p1, SingI Nat q1, C b) => (a -> f b) -> Blade p q a -> f (Blade p1 q1 b)Source

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

bScale :: Blade p q f -> fSource

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

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

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

bladeNegate :: C f => Blade p q f -> Blade p q fSource

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

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

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 :: (C f, Eq f) => Blade p q f -> Blade p q f -> Blade p q f -> BoolSource

makeArbitrary ''Blade)