linear-0.6.1: Linear Algebra

Portability non-portable experimental Edward Kmett None

Linear.V2

Description

2-D Vectors

Synopsis

# Documentation

data V2 a Source

A 2-dimensional vector

````>>> ````pure 1 :: V2 Int
```V2 1 1
```
````>>> ````V2 1 2 + V2 3 4
```V2 4 6
```
````>>> ````V2 1 2 * V2 3 4
```V2 3 8
```
````>>> ````sum (V2 1 2)
```3
```

Constructors

 V2 a a

Instances

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

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

perp :: Num a => V2 a -> V2 aSource

the counter-clockwise perpendicular vector

````>>> ````perp \$ V2 10 20
```V2 (-20) 10
```