halg-matrices-0.6.0.0: Abstraction layer ror various matrix libraries, part of halg computational algebra suite.
Safe HaskellNone
LanguageHaskell2010

Algebra.Matrix.DataMatrix

Description

Provides Matrix and MMatrix instances for Matrix type of matrix package.

| N.B. This module provides 0-origin interface for Matrix, contrary to the matrix package provides 1-origin.

Documentation

type DMatrix = Matrix Source #

Orphan instances

(UnitNormalForm a, Ring a) => Matrix Matrix a Source # 
Instance details

Methods

basicRowCount :: Matrix a -> Size Source #

basicColumnCount :: Matrix a -> Size Source #

unsafeFreeze :: PrimMonad m => Mutable Matrix (PrimState m) a -> m (Matrix a) Source #

unsafeThaw :: PrimMonad m => Matrix a -> m (Mutable Matrix (PrimState m) a) Source #

basicUnsafeIndexM :: Monad m => Matrix a -> Index -> Index -> m a Source #

basicUnsafeGetRowM :: Monad m => Matrix a -> Index -> m (Row Matrix a) Source #

basicUnsafeGetColumnM :: Monad m => Matrix a -> Index -> m (Column Matrix a) Source #

basicUnsafeCopy :: PrimMonad m => Mutable Matrix (PrimState m) a -> Matrix a -> m () Source #

unsafeGenerate :: Size -> Size -> (Index -> Index -> a) -> Matrix a Source #

unsafeWrite :: Matrix a -> Index -> Index -> a -> Matrix a Source #

unsafeFromRows :: [Row Matrix a] -> Matrix a Source #

unsafeFromColumns :: [Column Matrix a] -> Matrix a Source #

toRows :: Matrix a -> [Row Matrix a] Source #

toColumns :: Matrix a -> [Column Matrix a] Source #

swapRows :: Matrix a -> Index -> Index -> Matrix a Source #

scaleRow :: Matrix a -> Index -> a -> Matrix a Source #

unsafeIMapRowM :: Monad m => Matrix a -> Index -> (Index -> a -> m a) -> m (Matrix a) Source #

unsafeIMapRowM_ :: Monad m => Matrix a -> Index -> (Index -> a -> m b) -> m () Source #

unsafeIMapRow :: Matrix a -> Index -> (Index -> a -> a) -> Matrix a Source #

combineRows :: Index -> a -> Index -> Matrix a -> Matrix a Source #

gaussReduction :: Matrix a -> (Matrix a, Matrix a, a) Source #