linear-0.2: Linear Algebra

Linear.V3

Synopsis

# Documentation

data V3 a Source

A 3-dimensional vector

Constructors

 V3 a a a

Instances

 Monad V3 Functor V3 Typeable1 V3 Applicative V3 Foldable V3 Traversable V3 Distributive V3 Representable V3 Metric V3 R2 V3 R3 V3 Eq a => Eq (V3 a) (Num (V3 a), Fractional a) => Fractional (V3 a) (Typeable (V3 a), Data a) => Data (V3 a) Num a => Num (V3 a) (Eq (V3 a), Ord a) => Ord (V3 a) Read a => Read (V3 a) Show a => Show (V3 a) Storable a => Storable (V3 a) (Num (V3 a), Epsilon a) => Epsilon (V3 a)

cross :: Num a => V3 a -> V3 a -> V3 aSource

cross product

triple :: Num a => V3 a -> V3 a -> V3 a -> aSource

scalar triple product

class R2 t whereSource

A space that distinguishes 2 orthogonal basis vectors `_x` and `_y`, but may have more.

Methods

_x :: Functor f => (a -> f a) -> t a -> f (t a)Source

_y :: Functor f => (a -> f a) -> t a -> f (t a)Source

_xy :: Functor f => (V2 a -> f (V2 a)) -> t a -> f (t a)Source

Instances

 R2 V2 R2 V3 R2 V4

class R2 t => R3 t whereSource

A space that distinguishes 3 orthogonal basis vectors: `_x`, `_y`, and `_z`. (It may have more)

Methods

_z :: Functor f => (a -> f a) -> t a -> f (t a)Source

_xyz :: Functor f => (V3 a -> f (V3 a)) -> t a -> f (t a)Source

Instances

 R3 V3 R3 V4