 | vector-space-0.7.1: Vector & affine spaces, linear maps, and derivatives (requires ghc 6.9 or better) | Source code | Contents | Index |
|
Data.LinearMap | Stability | experimental | Maintainer | conal@conal.net |
|
|
|
Description |
Linear maps
|
|
Synopsis |
|
data u :-* v | | linear :: (HasBasis u, HasTrie (Basis u)) => (u -> v) -> u :-* v | | lapply :: (VectorSpace v, Scalar u ~ Scalar v, HasBasis u, HasTrie (Basis u)) => (u :-* v) -> u -> v | | atBasis :: (AdditiveGroup v, HasTrie (Basis u)) => (u :-* v) -> Basis u -> v | | idL :: (HasBasis u, HasTrie (Basis u)) => u :-* u | | (*.*) :: (HasBasis u, HasTrie (Basis u), HasBasis v, HasTrie (Basis v), VectorSpace w, Scalar v ~ Scalar w) => (v :-* w) -> (u :-* v) -> u :-* w | | inLMap :: (LMap' r s -> LMap' t u) -> (r :-* s) -> t :-* u | | inLMap2 :: (LMap' r s -> LMap' t u -> LMap' v w) -> (r :-* s) -> (t :-* u) -> v :-* w | | inLMap3 :: (LMap' r s -> LMap' t u -> LMap' v w -> LMap' x y) -> (r :-* s) -> (t :-* u) -> (v :-* w) -> x :-* y | | liftMS :: AdditiveGroup a => (a -> b) -> MSum a -> MSum b | | liftMS2 :: (AdditiveGroup a, AdditiveGroup b) => (a -> b -> c) -> MSum a -> MSum b -> MSum c | | liftMS3 :: (AdditiveGroup a, AdditiveGroup b, AdditiveGroup c) => (a -> b -> c -> d) -> MSum a -> MSum b -> MSum c -> MSum d | | liftL :: (Functor f, AdditiveGroup (f a)) => (a -> b) -> MSum (f a) -> MSum (f b) | | liftL2 :: (Applicative f, AdditiveGroup (f a), AdditiveGroup (f b)) => (a -> b -> c) -> MSum (f a) -> MSum (f b) -> MSum (f c) | | liftL3 :: (Applicative f, AdditiveGroup (f a), AdditiveGroup (f b), AdditiveGroup (f c)) => (a -> b -> c -> d) -> MSum (f a) -> MSum (f b) -> MSum (f c) -> MSum (f d) |
|
|
Documentation |
|
|
Linear map, represented as an optional memo-trie from basis to
values, where Nothing means the zero map (an optimization).
| Instances | |
|
|
|
Function (assumed linear) as linear map.
|
|
|
Apply a linear map to a vector.
|
|
|
Evaluate a linear map on a basis element.
|
|
|
Identity linear map
|
|
|
Compose linear maps
|
|
inLMap :: (LMap' r s -> LMap' t u) -> (r :-* s) -> t :-* u | Source |
|
|
inLMap2 :: (LMap' r s -> LMap' t u -> LMap' v w) -> (r :-* s) -> (t :-* u) -> v :-* w | Source |
|
|
inLMap3 :: (LMap' r s -> LMap' t u -> LMap' v w -> LMap' x y) -> (r :-* s) -> (t :-* u) -> (v :-* w) -> x :-* y | Source |
|
|
|
|
|
|
|
|
|
Apply a linear function to each element of a linear map.
liftL f l == linear f *.* l, but works more efficiently.
|
|
|
Apply a linear binary function (not to be confused with a bilinear
function) to each element of a linear map.
|
|
|
Apply a linear ternary function (not to be confused with a trilinear
function) to each element of a linear map.
|
|
Produced by Haddock version 2.4.2 |