vector-space-0.7.1: Vector & affine spaces, linear maps, and derivatives (requires ghc 6.9 or better)Source codeContentsIndex
Data.VectorSpace
Stabilityexperimental
Maintainerconal@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
type Scalar v :: *
(*^) :: Scalar v -> v -> v
(^/) :: (VectorSpace v, s ~ Scalar v, Fractional s) => v -> s -> v
(^*) :: (VectorSpace v, s ~ Scalar v) => v -> s -> v
class VectorSpace v => InnerSpace v where
(<.>) :: v -> v -> Scalar v
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
Documentation
module Data.AdditiveGroup
class AdditiveGroup v => VectorSpace v whereSource
Vector space v.
Associated Types
type Scalar v :: *Source
Methods
(*^) :: Scalar v -> v -> vSource
Scale a vector
show/hide Instances
(^/) :: (VectorSpace v, s ~ Scalar v, Fractional s) => v -> s -> vSource
Vector divided by scalar
(^*) :: (VectorSpace v, s ~ Scalar v) => v -> s -> vSource
Vector multiplied by scalar
class VectorSpace v => InnerSpace v whereSource
Adds inner (dot) products.
Methods
(<.>) :: v -> v -> Scalar vSource
Inner/dot product
show/hide Instances
lerp :: VectorSpace v => v -> v -> Scalar v -> vSource
Linear interpolation between a (when t==0) and b (when t==1).
magnitudeSq :: (InnerSpace v, s ~ Scalar v) => v -> sSource
Square of the length of a vector. Sometimes useful for efficiency. See also magnitude.
magnitude :: (InnerSpace v, s ~ Scalar v, Floating s) => v -> sSource
Length of a vector. See also magnitudeSq.
normalized :: (InnerSpace v, s ~ Scalar v, Floating s) => v -> vSource
Vector in same direction as given one but with length of one. If given the zero vector, then return it.
Produced by Haddock version 2.4.2