HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Modulenumeric-prelude-0.4.4Haskell98

Algebra.ModuleBasis

Abstraction of bases of finite dimensional modules

  • 1 class
  • 2 values
classclass 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.

Instances7C, …
  • C Integer IntegerDefined in numeric-prelude-0.4.4 · Algebra.ModuleBasis
  • C Double DoubleDefined in numeric-prelude-0.4.4 · Algebra.ModuleBasis
  • C Float FloatDefined in numeric-prelude-0.4.4 · Algebra.ModuleBasis
  • C Int IntDefined in numeric-prelude-0.4.4 · Algebra.ModuleBasis
  • (C a v0, C a v1) => C a (v0, v1)Defined in numeric-prelude-0.4.4 · Algebra.ModuleBasis
  • (C a v0, C a v1, C a v2) => C a (v0, v1, v2)Defined in numeric-prelude-0.4.4 · Algebra.ModuleBasis
  • C a => C (T a) (T a)Defined in numeric-prelude-0.4.4 · Algebra.ModuleBasis

Instances for atomic types

0 declarations

Instances for composed types

0 declarations

Properties

2 declarations