 | vector-space-0.7.6: Vector & affine spaces, linear maps, and derivatives (requires ghc 6.9 or better) | Source code | Contents | Index |
|
| Data.VectorSpace | | Stability | experimental | | Maintainer | conal@conal.net, andygill@ku.edu |
|
|
|
| Description |
Vector spaces
This version uses associated types instead of fundeps and
requires ghc-6.10 or later
|
|
| Synopsis |
|
| module Data.AdditiveGroup | | | class AdditiveGroup v => VectorSpace v where | | | | (^/) :: (VectorSpace v, s ~ Scalar v, Fractional s) => v -> s -> v | | | (^*) :: (VectorSpace v, s ~ Scalar v) => v -> s -> v | | | class VectorSpace v => InnerSpace v where | | | | lerp :: VectorSpace v => v -> v -> Scalar v -> v | | | magnitudeSq :: (InnerSpace v, s ~ Scalar v) => v -> s | | | magnitude :: (InnerSpace v, s ~ Scalar v, Floating s) => v -> s | | | normalized :: (InnerSpace v, s ~ Scalar v, Floating s) => v -> v | | | project :: (InnerSpace v, s ~ Scalar v, Floating s) => v -> v -> v |
|
|
| Documentation |
|
| module Data.AdditiveGroup |
|
|
| Vector space v.
| | | Associated Types | | | | Methods | | | Instances | | VectorSpace Double | | VectorSpace Float | | (RealFloat v, VectorSpace v) => VectorSpace (Complex v) | | VectorSpace v => VectorSpace (Maybe v) | | VectorSpace v => VectorSpace (a -> v) | | (s ~ Scalar u, s ~ Scalar v, VectorSpace u, VectorSpace v) => VectorSpace (u, v) | | (HasTrie a, VectorSpace v) => VectorSpace (:->: a v) | | (HasTrie (Basis u), VectorSpace v) => VectorSpace (:-* u v) | | (HasBasis a, HasTrie (Basis a), VectorSpace u, AdditiveGroup (Scalar u)) => VectorSpace (:> a u) | | (s ~ Scalar u, s ~ Scalar v, s ~ Scalar w, VectorSpace u, VectorSpace v, VectorSpace w) => VectorSpace (u, v, w) | | (s ~ Scalar u, s ~ Scalar v, s ~ Scalar w, s ~ Scalar x, VectorSpace u, VectorSpace v, VectorSpace w, VectorSpace x) => VectorSpace (u, v, w, x) |
|
|
|
|
| Vector divided by scalar
|
|
|
| Vector multiplied by scalar
|
|
|
| Adds inner (dot) products.
| | | Methods | | | Instances | | InnerSpace Double | | InnerSpace Float | | (s ~ Scalar v, RealFloat v, InnerSpace v, AdditiveGroup s) => InnerSpace (Complex v) | | (InnerSpace a, AdditiveGroup (Scalar a)) => InnerSpace (Maybe a) | | InnerSpace v => InnerSpace (a -> v) | | (s ~ Scalar u, s ~ Scalar v, InnerSpace u, InnerSpace v, AdditiveGroup (Scalar v)) => InnerSpace (u, v) | | (s ~ Scalar u, InnerSpace u, AdditiveGroup s, HasBasis a, HasTrie (Basis a)) => InnerSpace (:> a u) | | (s ~ Scalar u, s ~ Scalar v, s ~ Scalar w, InnerSpace u, InnerSpace v, InnerSpace w, AdditiveGroup s) => InnerSpace (u, v, w) | | (s ~ Scalar u, s ~ Scalar v, s ~ Scalar w, s ~ Scalar x, InnerSpace u, InnerSpace v, InnerSpace w, InnerSpace x, AdditiveGroup s) => InnerSpace (u, v, w, x) |
|
|
|
|
| Linear interpolation between a (when t==0) and b (when t==1).
|
|
|
| Square of the length of a vector. Sometimes useful for efficiency.
See also magnitude.
|
|
|
| Length of a vector. See also magnitudeSq.
|
|
|
| Vector in same direction as given one but with length of one. If
given the zero vector, then return it.
|
|
|
| project u v computes the projection of v onto u.
|
|
| Produced by Haddock version 2.6.1 |