vector-space-0.8.6: Vector & affine spaces, linear maps, and derivatives

Stabilityexperimental
Maintainerconal@conal.net
Safe HaskellNone

Data.Basis

Description

Basis of a vector space, as an associated type This module requires ghc-6.10 or later

Synopsis

Documentation

class VectorSpace v => HasBasis v whereSource

Associated Types

type Basis v :: *Source

Representation of the canonical basis for v

Methods

basisValue :: Basis v -> vSource

Interpret basis rep as a vector

decompose :: v -> [(Basis v, Scalar v)]Source

Extract coordinates

decompose' :: v -> Basis v -> Scalar vSource

Experimental version. More elegant definitions, and friendly to infinite-dimensional vector spaces.

Instances

HasBasis Double 
HasBasis Float 
HasBasis CFloat 
HasBasis CDouble 
(VectorSpace (Ratio a), Integral a) => HasBasis (Ratio a) 
(VectorSpace (u, v), HasBasis u, ~ * s (Scalar u), HasBasis v, ~ * s (Scalar v)) => HasBasis (u, v) 
(VectorSpace (u, v, w), HasBasis u, ~ * s (Scalar u), HasBasis v, ~ * s (Scalar v), HasBasis w, ~ * s (Scalar w)) => HasBasis (u, v, w) 

linearCombo :: VectorSpace v => [(v, Scalar v)] -> vSource

Linear combination

recompose :: HasBasis v => [(Basis v, Scalar v)] -> vSource