Maintainer | numericprelude@henning-thielemann.de |
---|---|
Stability | provisional |
Portability | requires multi-parameter type classes |
Safe Haskell | None |
Language | Haskell98 |
Abstraction of bases of finite dimensional modules
- class C a v => C a v where
- propFlatten :: (Eq v, C a v) => a -> v -> Bool
- propDimension :: C a v => a -> v -> Bool
Documentation
class C a v => C a v where Source #
It must hold:
Module.linearComb (flatten v `asTypeOf` [a]) (basis a) == v dimension a v == length (flatten v `asTypeOf` [a])
basis of the module with respect to the scalar type,
the result must be independent of argument, undefined
should suffice.
scale a vector by a scalar
dimension :: a -> v -> Int Source #
the size of the basis, should also work for undefined argument,
the result must be independent of argument, undefined
should suffice.
Instances for atomic types
Instances for composed types
Properties
propDimension :: C a v => a -> v -> Bool Source #