Copyright | (c) Erich Gut |
---|---|
License | BSD3 |
Maintainer | zerich.gut@gmail.com |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
defintion of matrices over Distributive
structures.
Synopsis
- data Matrix x = Matrix (Dim' x) (Dim' x) (Entries N N x)
- rows :: Matrix x -> Dim' x
- cols :: Matrix x -> Dim' x
- mtxxs :: Matrix x -> Entries N N x
- mtxRowCol :: Matrix x -> Row N (Col N x)
- mtxColRow :: Matrix x -> Col N (Row N x)
- mtxMap :: Hom Dst h => h x y -> Matrix x -> Matrix y
- mtxGroupRow :: Distributive x => Matrix x -> Matrix (Matrix x)
- mtxGroupDim :: Distributive x => Dim' x -> Dim' (Matrix x)
- mtxJoin :: Oriented x => Matrix (Matrix x) -> Matrix x
- mtxJoinDim :: Oriented x => Dim' (Matrix x) -> Dim' x
- matrix :: (Additive x, p ~ Point x) => Dim x p -> Dim x p -> [(x, N, N)] -> Matrix x
- matrixTtl :: (Additive x, FibredOriented x, Total x) => N -> N -> [(x, N, N)] -> Matrix x
- matrixBlc :: (Additive x, FibredOriented x) => [Dim' x] -> [Dim' x] -> [(Matrix x, N, N)] -> Matrix (Matrix x)
- diagonal :: Additive x => Dim' x -> Dim' x -> [x] -> Matrix x
- diagonal' :: Additive x => N -> Dim' x -> Dim' x -> [x] -> Matrix x
- coMatrix :: Entity (Point x) => Matrix x -> Dual (Matrix x)
- coMatrixInv :: Entity (Point x) => Dual (Matrix x) -> Matrix x
- mtxFromOpOp :: Entity (Point x) => Matrix (Op (Op x)) -> Matrix x
- isoCoMatrixDst :: Distributive x => IsoOpMap Matrix Dst (Op (Matrix x)) (Matrix (Op x))
- class XStandardOrientationMatrix x where
- xStandardOrientationMatrix :: X (Orientation (Dim' x))
- xMatrix :: Additive x => Q -> XOrtOrientation x -> X (Orientation (Point (Matrix x))) -> XOrtOrientation (Matrix x)
- xMatrixTtl :: (Distributive x, Total x) => N -> Q -> X x -> XOrtOrientation (Matrix x)
- xodZ :: XOrtOrientation (Matrix Z)
- xodZZ :: XOrtOrientation (Matrix (Matrix Z))
Matrix
matrix over Distributive
structures.
Property Let
be in Matrix
rw cl xijs
for a Matrix
aDistributive
structure a
, then holds:
Instances
Group
mtxGroupRow :: Distributive x => Matrix x -> Matrix (Matrix x) Source #
groups the rows with same row dimensions into a matrix of matrices with one column and n rows accordingly.
mtxGroupDim :: Distributive x => Dim' x -> Dim' (Matrix x) Source #
mtxJoin :: Oriented x => Matrix (Matrix x) -> Matrix x Source #
joining block matrices, i.e. matrices of matrices.
mtxJoinDim :: Oriented x => Dim' (Matrix x) -> Dim' x Source #
joining the dimension of matrices over x
.
Construction
matrixBlc :: (Additive x, FibredOriented x) => [Dim' x] -> [Dim' x] -> [(Matrix x, N, N)] -> Matrix (Matrix x) Source #
block matrices as matrix of matrices.
diagonal :: Additive x => Dim' x -> Dim' x -> [x] -> Matrix x Source #
diagonal matrix with entries starting at the index 0
(see diagonal'
).
diagonal' :: Additive x => N -> Dim' x -> Dim' x -> [x] -> Matrix x Source #
diagonal matrix with entries starting at the given index offset.
Duality
coMatrix :: Entity (Point x) => Matrix x -> Dual (Matrix x) Source #
the dual matrix, with inverse coMatrixInv
.
coMatrixInv :: Entity (Point x) => Dual (Matrix x) -> Matrix x Source #
from the dual matrix, with inverse coMatrix
.
Homomorphisms
X
class XStandardOrientationMatrix x where Source #
standard random variable for the orientations of matrices over x
.
xStandardOrientationMatrix :: X (Orientation (Dim' x)) Source #
Instances
XStandardOrientationMatrix Z Source # | |
Defined in OAlg.Entity.Matrix.Definition xStandardOrientationMatrix :: X (Orientation (Dim' Z)) Source # |
xMatrix :: Additive x => Q -> XOrtOrientation x -> X (Orientation (Point (Matrix x))) -> XOrtOrientation (Matrix x) Source #
random variable of matrices with the given maximal dimension and density.
xMatrixTtl :: (Distributive x, Total x) => N -> Q -> X x -> XOrtOrientation (Matrix x) Source #
random variable of matrices with the given maximal dimension and the given density.