|
| Algebra.Module | | Portability | requires multi-parameter type classes | | Stability | provisional | | Maintainer | numericprelude@henning-thielemann.de |
|
|
|
|
|
| Description |
| Abstraction of modules
|
|
| Synopsis |
|
|
|
| Documentation |
|
|
A Module over a ring satisfies:
a *> (b + c) === a *> b + a *> c
(a * b) *> c === a *> (b *> c)
(a + b) *> c === a *> c + b *> c
| | | Methods | | | scale a vector by a scalar
|
| | Instances | | C Double Double | | C Float Float | | C Int Int | | C Integer Integer | | C a => C Integer (T a) | | C a => C Integer (T a) | | C a v => C a ([] v) | | C a b => C a (T b) | | C a b => C a (T b) | | C a b => C a (T b) | | (C a v, C v) => C a (T v) | | C a b => C a (T b) | | C a b => C a (T b) | | C a b => C a (T b) | | C a v => C a (c -> v) | | (C a b0, C a b1) => C a ((,) b0 b1) | | (Ord i, Eq a, Eq v, C a v) => C a (Map i v) | | (C u, C a b) => C a (T u b) | | (Ord i, C a v) => C a (T i v) | | C a v => C a (T b v) | | (C a b0, C a b1, C a b2) => C a ((,,) b0 b1 b2) | | C a => C (T a) (T a) |
|
|
|
| (<*>.*>) :: C a x => T (a, v) (x -> c) -> (v -> x) -> T (a, v) c | Source |
|
|
| Instances for atomic types
|
|
| Instances for composed types
|
|
| Related functions
|
|
| linearComb :: C a v => [a] -> [v] -> v | Source |
|
Compute the linear combination of a list of vectors.
ToDo:
Should it use NumericPrelude.List.zipWithMatch ?
|
|
| integerMultiply :: (C a, C v) => a -> v -> v | Source |
|
This function can be used to define any
C as a module over Integer.
Better move to Algebra.Additive?
|
|
| Properties
|
|
|
|
| propRightDistributive :: (Eq v, C a v) => a -> v -> v -> Bool | Source |
|
|
| propLeftDistributive :: (Eq v, C a v) => v -> a -> a -> Bool | Source |
|
|
| Produced by Haddock version 2.4.2 |