BNFC-2.5.0.1: A compiler front-end generator.
Safe HaskellNone
LanguageHaskell2010

Data.Matrix.Class

Documentation

fingerprint :: (AbelianGroupZ a, Matrix m) => m a -> [[Char]] Source #

(***) :: (t1 -> a) -> (t2 -> b) -> (t1, t2) -> (a, b) Source #

data Dimension Source #

Constructors

XD 
YD 

Instances

Instances details
Show Dimension Source # 
Instance details

Defined in Data.Matrix.Class

Eq Dimension Source # 
Instance details

Defined in Data.Matrix.Class

quad :: (AbelianGroup a, Matrix m) => m a -> m a -> m a -> m a -> m a Source #

type Extent = (Int, Int) Source #

ext :: Dimension -> (a, a) -> a Source #

glueExt :: (AbelianGroup a, AbelianGroup b) => Dimension -> (a, b) -> (a, b) -> (a, b) Source #

splitExt :: Num b => Dimension -> b -> (b, b) -> ((b, b), (b, b)) Source #

class Matrix (m :: Type -> Type) where Source #

Methods

at :: AbelianGroupZ a => Int -> Int -> m a -> a Source #

extent :: m a -> Extent Source #

singleton :: AbelianGroupZ a => a -> m a Source #

Sigleton matrix

glue :: AbelianGroup a => Dimension -> m a -> m a -> m a Source #

split :: AbelianGroupZ a => Dimension -> Int -> m a -> (m a, m a) Source #

zeroMatrix :: AbelianGroup a => Int -> Int -> m a Source #

Instances

Instances details
Matrix m => Matrix (O Pair m) Source # 
Instance details

Defined in Data.Matrix.Class

Methods

at :: AbelianGroupZ a => Int -> Int -> O Pair m a -> a Source #

extent :: O Pair m a -> Extent Source #

singleton :: AbelianGroupZ a => a -> O Pair m a Source #

glue :: AbelianGroup a => Dimension -> O Pair m a -> O Pair m a -> O Pair m a Source #

split :: AbelianGroupZ a => Dimension -> Int -> O Pair m a -> (O Pair m a, O Pair m a) Source #

zeroMatrix :: AbelianGroup a => Int -> Int -> O Pair m a Source #

(<|>) :: (AbelianGroup a, Matrix m) => m a -> m a -> m a Source #

(<->) :: (AbelianGroup a, Matrix m) => m a -> m a -> m a Source #

countColumns :: Matrix m => m a -> Int Source #

countRows :: Matrix m => m a -> Int Source #

chopFirstRow :: (AbelianGroupZ a, Matrix m) => m a -> m a Source #

chopFirstColumn :: (AbelianGroupZ a, Matrix m) => m a -> m a Source #

chopLastColumn :: (AbelianGroupZ a, Matrix m) => m a -> m a Source #

firstRow :: (AbelianGroupZ a, Matrix m) => m a -> m a Source #

lastColumn :: (AbelianGroupZ a, Matrix m) => m a -> m a Source #

chopLastRow :: (AbelianGroupZ a, Matrix m) => m a -> m a Source #