Safe Haskell | None |
---|
- data Blade p q f where
- type STBlade = Blade 3 1 Double
- type E3Blade = Blade 3 0 Double
- scale :: (Functor f, SingI Nat p1, SingI Nat q1, C b) => (a -> f b) -> Blade p q a -> f (Blade p1 q1 b)
- indices :: Lens' (Blade p q f) [Natural]
- dimension :: forall p q f. (SingI p, SingI q) => Blade p q f -> (Natural, Natural)
- bScale :: Blade p q f -> f
- bIndices :: Blade p q f -> [Natural]
- scalarBlade :: (C f, SingI p, SingI q) => f -> Blade p q f
- zeroBlade :: (C f, SingI p, SingI q) => Blade p q f
- bladeNonZero :: (C f, Eq f) => Blade p q f -> Bool
- bladeNegate :: C f => Blade p q f -> Blade p q f
- bladeScaleLeft :: f -> Blade p q f -> Blade p q f
- bladeScaleRight :: f -> Blade p q f -> Blade p q f
- bladeNormalForm :: forall p q f. Blade p q f -> Blade p q f
- sortIndices :: ([Natural], Integer) -> ([Natural], Bool)
- sortIndices' :: ([Natural], Integer) -> ([Natural], Bool)
- grade :: Blade p q f -> Integer
- bladeIsOfGrade :: Blade p q f -> Integer -> Bool
- bladeGetGrade :: Integer -> Blade p q f -> Blade p q f
- bladeMul :: Blade p q f -> Blade p q f -> Blade p q f
- multiplyBladeList :: (SingI p, SingI q, C f) => [Blade p q f] -> Blade p q f
- bWedge :: Blade p q f -> Blade p q f -> Blade p q f
- bDot :: Blade p q f -> Blade p q f -> Blade p q f
- propBladeDotAssociative :: (C f, Eq f) => Blade p q f -> Blade p q f -> Blade p q f -> Bool
- compareIndices :: [Natural] -> [Natural] -> Ordering
Documentation
scale :: (Functor f, SingI Nat p1, SingI Nat q1, C b) => (a -> f b) -> Blade p q a -> f (Blade p1 q1 b)Source
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
bladeIsOfGrade :: Blade p q f -> Integer -> BoolSource
bladeGetGrade :: Integer -> Blade p q f -> Blade p q fSource
compareIndices :: [Natural] -> [Natural] -> OrderingSource
makeArbitrary ''Blade)