| NumericPrelude-0.0: An experimental alternative hierarchy of numeric type classes | Contents | Index |
|
Algebra.ModuleBasis | Portability | requires multi-parameter type classes | Stability | provisional | Maintainer | numericprelude@henning-thielemann.de |
|
|
|
|
|
Description |
Abstraction of bases of finite dimensional modules
|
|
Synopsis |
|
|
|
Documentation |
|
class C a v => C a v where |
It must hold:
Module.linearComb (flatten v `asTypeOf` [a]) (basis a) == v
dimension a v == length (flatten v `asTypeOf` [a])
| | Methods | basis :: a -> [v] | basis of the module with respect to the scalar type,
the result must be independent of argument, undefined should suffice.
| | flatten :: v -> [a] | scale a vector by a scalar
| | dimension :: a -> v -> Int | the size of the basis, should also work for undefined argument,
the result must be independent of argument, undefined should suffice.
|
| | Instances | |
|
|
Instances for atomic types
|
|
Instances for composed types
|
|
Properties
|
|
propFlatten :: (Eq v, C a v) => a -> v -> Bool |
|
propDimension :: C a v => a -> v -> Bool |
|
Produced by Haddock version 0.7 |