BNFC-2.8.1: A compiler front-end generator.

Safe HaskellNone
LanguageHaskell98

Data.Matrix.Class

Documentation

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

(***) :: (t3 -> t2) -> (t1 -> t) -> (t3, t1) -> (t2, t) #

data Dimension #

Constructors

XD 
YD 

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

type Extent = (Int, Int) #

ext :: Dimension -> (t, t) -> t #

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

splitExt :: Num a => Dimension -> a -> (a, a) -> ((a, a), (a, a)) #

class Matrix m where #

Minimal complete definition

at, extent, singleton, glue, split, zeroMatrix

Methods

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

extent :: m a -> Extent #

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

Sigleton matrix

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

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

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

Instances

Matrix m => Matrix (O Pair m) # 

Methods

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

extent :: O Pair m a -> Extent #

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

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

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

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

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

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

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

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

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

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

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

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

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

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