linear-0.6: Linear Algebra

Portabilityportable
Stabilityprovisional
MaintainerEdward Kmett <ekmett@gmail.com>
Safe HaskellSafe-Inferred

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

>>> V2 1 2 ^+^ V2 3 4
V2 4 6

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

Compute the negation of a vector

>>> gnegate (V2 2 4)
V2 (-2) (-4)

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

Compute the difference between two vectors

>>> V2 4 5 - V2 3 1
V2 1 4

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

Compute the right scalar product

>>> V2 3 4 ^* 2
V2 6 8

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

Compute the left scalar product

>>> 2 *^ V2 3 4
V2 6 8

(^/) :: (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.