Safe Haskell | None |
---|
- data MapVector k v
- = MapVector (Map k v)
- | ConstantMap v
Documentation
Note: <*>
in the Applicative
instance operates under intersection. i.e.:
>>>
(MapVector $ Map.fromList [("x", id)]) <*> (MapVector $ Map.fromList [("y", 3)])
MapVector (Map.fromList [])
*
in the Num
instance performs elementwise multiplication. It is defined in terms of
<*>
and therefore also operates under intersection:
>>>
(MapVector $ Map.fromList [("x", 2), ("y", 3)]) * (MapVector $ Map.fromList [("x", 5),("y", 7)])
MapVector (Map.fromList [("x", 10), ("y", 21)])
>>>
(MapVector $ Map.fromList [("x", 2), ("y", 3)]) * (MapVector $ Map.fromList [("y", 7)])
MapVector (Map.fromList [("y", 21)])
*^
in the VectorSpace
instance multiplies by the scalar of v. Nesting MapVectors preserves
the scalar type, e.g. Scalar (MapVector k (MapVector k' v))
= Scalar v
.
>>>
2 *^ (ConstantMap $ MapVector $ Map.fromList [("x", 3 :: Int), ("y", 5)])
ConstantMap (MapVector (fromList [("x",6),("y",10)]))
Finally, <.>
in InnerSpace
is the dot-product operator. Again, it operates under intersection.
>>>
(MapVector $ Map.fromList [("x", 2 :: Int), ("y", 3)]) <.> (MapVector $ Map.fromList [("x", 5),("y", 7)])
31
>>>
(pure . MapVector $ Map.fromList [("x", 2 :: Int), ("y", 3)]) <.> (MapVector $ Map.fromList [("a", pure (5::Int))])
25
MapVector (Map k v) | |
ConstantMap v | An infinite-dimensional vector with the same value on all dimensions |
Typeable2 MapVector | |
Functor (MapVector k) | |
Ord k => Applicative (MapVector k) | |
Foldable (MapVector k) | |
Traversable (MapVector k) | |
(Eq k, Eq v) => Eq (MapVector k v) | |
(Data k, Data v, Ord k) => Data (MapVector k v) | |
(Ord k, AdditiveGroup v, Num v) => Num (MapVector k v) | |
(Ord k, Read k, Read v) => Read (MapVector k v) | |
(Show k, Show v) => Show (MapVector k v) | |
(Ord k, VectorSpace v) => VectorSpace (MapVector k v) | |
(Ord k, VectorSpace v, InnerSpace v, AdditiveGroup (Scalar v)) => InnerSpace (MapVector k v) | |
(AdditiveGroup v, Ord k) => AdditiveGroup (MapVector k v) |