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 #