linear-0.6.1: Linear Algebra

Portability non-portable experimental Edward Kmett None

Linear.V3

Description

3-D Vectors

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 Metric V3 Core 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) (Ord (V3 a), Ix a) => Ix (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

````>>> ````V2 1 2 ^._x
```1
```
````>>> ````V2 1 2 & _x .~ 3
```V2 3 2
```

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

````>>> ````V2 1 2 ^._y
```2
```
````>>> ````V2 1 2 & _y .~ 3
```V2 1 3
```

_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