linear-0.5: Linear Algebra

Portabilityportable
Stabilityprovisional
MaintainerEdward Kmett <ekmett@gmail.com>
Safe HaskellNone

Linear.Vector

Description

Operations on free vector spaces.

Synopsis

Documentation

(^+^) :: (Applicative f, Num a) => f a -> f a -> f aSource

Compute the sum of two vectors

gnegate :: (Functor f, Num a) => f a -> f aSource

Compute the negation of a vector

(^-^) :: (Applicative f, Num a) => f a -> f a -> f aSource

Compute the difference between two vectors

(^*) :: (Functor f, Num a) => f a -> a -> f aSource

Compute the right scalar product

(*^) :: (Functor f, Num a) => a -> f a -> f aSource

Compute the left scalar product

(^/) :: (Functor f, Fractional a) => f a -> a -> f aSource

Compute division by a scalar on the right.

lerp :: (Applicative f, Num a) => a -> f a -> f a -> f aSource

Linearly interpolate between two vectors.

basis :: (Applicative t, Traversable t, Num a) => [t a]Source

Produce a default basis for a vector space. If the dimensionality of the vector space is not statically known, see basisFor.

basisFor :: (Traversable t, Enum a, Num a) => t a -> [t a]Source

Produce a default basis for a vector space from which the argument is drawn.