hgeometry-0.12.0.4: Geometric Algorithms, Data structures, and Data types.
Copyright (C) Frank Staals see the LICENSE file Frank Staals None Haskell2010

Data.Geometry.Matrix

Description

type-indexed matrices.

Synopsis

# Documentation

newtype Matrix n m r Source #

A matrix of n rows, each of m columns, storing values of type r.

Constructors

 Matrix (Vector n (Vector m r))

#### Instances

Instances details
 (Arity n, Arity m) => Functor (Matrix n m) Source # Instance detailsDefined in Data.Geometry.Matrix Methodsfmap :: (a -> b) -> Matrix n m a -> Matrix n m b #(<\$) :: a -> Matrix n m b -> Matrix n m a # (Arity n, Arity m) => Foldable (Matrix n m) Source # Instance detailsDefined in Data.Geometry.Matrix Methodsfold :: Monoid m0 => Matrix n m m0 -> m0 #foldMap :: Monoid m0 => (a -> m0) -> Matrix n m a -> m0 #foldMap' :: Monoid m0 => (a -> m0) -> Matrix n m a -> m0 #foldr :: (a -> b -> b) -> b -> Matrix n m a -> b #foldr' :: (a -> b -> b) -> b -> Matrix n m a -> b #foldl :: (b -> a -> b) -> b -> Matrix n m a -> b #foldl' :: (b -> a -> b) -> b -> Matrix n m a -> b #foldr1 :: (a -> a -> a) -> Matrix n m a -> a #foldl1 :: (a -> a -> a) -> Matrix n m a -> a #toList :: Matrix n m a -> [a] #null :: Matrix n m a -> Bool #length :: Matrix n m a -> Int #elem :: Eq a => a -> Matrix n m a -> Bool #maximum :: Ord a => Matrix n m a -> a #minimum :: Ord a => Matrix n m a -> a #sum :: Num a => Matrix n m a -> a #product :: Num a => Matrix n m a -> a # (Arity n, Arity m) => Traversable (Matrix n m) Source # Instance detailsDefined in Data.Geometry.Matrix Methodstraverse :: Applicative f => (a -> f b) -> Matrix n m a -> f (Matrix n m b) #sequenceA :: Applicative f => Matrix n m (f a) -> f (Matrix n m a) #mapM :: Monad m0 => (a -> m0 b) -> Matrix n m a -> m0 (Matrix n m b) #sequence :: Monad m0 => Matrix n m (m0 a) -> m0 (Matrix n m a) # (Eq r, Arity n, Arity m) => Eq (Matrix n m r) Source # Instance detailsDefined in Data.Geometry.Matrix Methods(==) :: Matrix n m r -> Matrix n m r -> Bool #(/=) :: Matrix n m r -> Matrix n m r -> Bool # (Ord r, Arity n, Arity m) => Ord (Matrix n m r) Source # Instance detailsDefined in Data.Geometry.Matrix Methodscompare :: Matrix n m r -> Matrix n m r -> Ordering #(<) :: Matrix n m r -> Matrix n m r -> Bool #(<=) :: Matrix n m r -> Matrix n m r -> Bool #(>) :: Matrix n m r -> Matrix n m r -> Bool #(>=) :: Matrix n m r -> Matrix n m r -> Bool #max :: Matrix n m r -> Matrix n m r -> Matrix n m r #min :: Matrix n m r -> Matrix n m r -> Matrix n m r # (Show r, Arity n, Arity m) => Show (Matrix n m r) Source # Instance detailsDefined in Data.Geometry.Matrix MethodsshowsPrec :: Int -> Matrix n m r -> ShowS #show :: Matrix n m r -> String #showList :: [Matrix n m r] -> ShowS #

identityMatrix :: (Arity d, Num r) => Matrix d d r Source #

Produces the Identity Matrix.

multM :: (Arity r, Arity c, Arity c', Num a) => Matrix r c a -> Matrix c c' a -> Matrix r c' a Source #

Matrix product.

mult :: (Arity m, Arity n, Num r) => Matrix n m r -> Vector m r -> Vector n r Source #

Matrix * column vector.

class Invertible n r where Source #

Class of matrices that are invertible.

Methods

inverse' :: Matrix n n r -> Matrix n n r Source #

#### Instances

Instances details
 Fractional r => Invertible 2 r Source # Instance detailsDefined in Data.Geometry.Matrix Methodsinverse' :: Matrix 2 2 r -> Matrix 2 2 r Source # Fractional r => Invertible 3 r Source # Instance detailsDefined in Data.Geometry.Matrix Methodsinverse' :: Matrix 3 3 r -> Matrix 3 3 r Source # Fractional r => Invertible 4 r Source # Instance detailsDefined in Data.Geometry.Matrix Methodsinverse' :: Matrix 4 4 r -> Matrix 4 4 r Source #

class Arity d => HasDeterminant d where Source #

Class of matrices that have a determinant.

Methods

det :: Num r => Matrix d d r -> r Source #

#### Instances

Instances details
 Source # Instance detailsDefined in Data.Geometry.Matrix Methodsdet :: Num r => Matrix 1 1 r -> r Source # Source # Instance detailsDefined in Data.Geometry.Matrix Methodsdet :: Num r => Matrix 2 2 r -> r Source # Source # Instance detailsDefined in Data.Geometry.Matrix Methodsdet :: Num r => Matrix 3 3 r -> r Source # Source # Instance detailsDefined in Data.Geometry.Matrix Methodsdet :: Num r => Matrix 4 4 r -> r Source #