BNFC-2.8.2: A compiler front-end generator.

Safe HaskellNone
LanguageHaskell98

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
Eq Dimension Source # 
Instance details

Defined in Data.Matrix.Class

Show 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 -> (p, p) -> p Source #

glueExt :: (AbelianGroup a1, AbelianGroup a2) => Dimension -> (a1, a2) -> (a1, a2) -> (a1, a2) Source #

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

class Matrix m 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
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 #

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

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

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

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

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

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