Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Documentation
V3 !a !a !a |
Instances
Functor V3 Source # | |
Foldable V3 Source # | |
Defined in Data.Semiring.V3 fold :: Monoid m => V3 m -> m # foldMap :: Monoid m => (a -> m) -> V3 a -> m # foldr :: (a -> b -> b) -> b -> V3 a -> b # foldr' :: (a -> b -> b) -> b -> V3 a -> b # foldl :: (b -> a -> b) -> b -> V3 a -> b # foldl' :: (b -> a -> b) -> b -> V3 a -> b # foldr1 :: (a -> a -> a) -> V3 a -> a # foldl1 :: (a -> a -> a) -> V3 a -> a # elem :: Eq a => a -> V3 a -> Bool # maximum :: Ord a => V3 a -> a # | |
Distributive V3 Source # | |
Representable V3 Source # | |
Foldable1 V3 Source # | |
Eq a => Eq (V3 a) Source # | |
Ord a => Ord (V3 a) Source # | |
Show a => Show (V3 a) Source # | |
Semigroup a => Semigroup (V3 a) Source # | |
Monoid a => Monoid (V3 a) Source # | |
Prd a => Prd (V3 a) Source # | |
Group a => Group (V3 a) Source # | |
Unital a => Semiring (V3 a) Source # | |
(Monoid a, Dioid a) => Dioid (V3 a) Source # | |
Defined in Data.Semiring.V3 fromNatural :: Natural -> V3 a Source # | |
type Rep V3 Source # | |
Defined in Data.Semiring.V3 |
(<@>) :: Ring a => V3 a -> V3 a -> V3 a infixl 7 Source #
Cross product.
>>>
V3 1 1 1 <@> V3 (-2) 1 1
V3 0 (-3) 3
The cross product satisfies the following properties:
a<@>
a = 0 a<@>
b = − ( b<@>
a ) , a<@>
( b + c ) = ( a<@>
b ) + ( a<@>
c ) , ( r a )<@>
b = a<@>
( r b ) = r ( a<@>
b ) . a<@>
( b<@>
c ) + b<@>
( c<@>
a ) + c<@>
( a<@>
b ) = 0 .