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
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
propFlatten :: (Eq v, C a v) => a -> v -> Bool Source
propDimension :: C a v => a -> v -> Bool Source