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

Algebra.Matrix.RepaIntMap

Synopsis

Documentation

data RIMMatrix' repr a Source #

Instances

Instances details
DecidableZero a => Matrix (RIMMatrix' D) a Source # 
Instance details

Defined in Algebra.Matrix.RepaIntMap

Methods

basicRowCount :: RIMMatrix' D a -> Size Source #

basicColumnCount :: RIMMatrix' D a -> Size Source #

unsafeFreeze :: PrimMonad m => Mutable (RIMMatrix' D) (PrimState m) a -> m (RIMMatrix' D a) Source #

unsafeThaw :: PrimMonad m => RIMMatrix' D a -> m (Mutable (RIMMatrix' D) (PrimState m) a) Source #

basicUnsafeIndexM :: Monad m => RIMMatrix' D a -> Index -> Index -> m a Source #

basicUnsafeGetRowM :: Monad m => RIMMatrix' D a -> Index -> m (Row (RIMMatrix' D) a) Source #

basicUnsafeGetColumnM :: Monad m => RIMMatrix' D a -> Index -> m (Column (RIMMatrix' D) a) Source #

basicUnsafeCopy :: PrimMonad m => Mutable (RIMMatrix' D) (PrimState m) a -> RIMMatrix' D a -> m () Source #

unsafeGenerate :: Size -> Size -> (Index -> Index -> a) -> RIMMatrix' D a Source #

unsafeWrite :: RIMMatrix' D a -> Index -> Index -> a -> RIMMatrix' D a Source #

unsafeFromRows :: [Row (RIMMatrix' D) a] -> RIMMatrix' D a Source #

unsafeFromColumns :: [Column (RIMMatrix' D) a] -> RIMMatrix' D a Source #

toRows :: RIMMatrix' D a -> [Row (RIMMatrix' D) a] Source #

toColumns :: RIMMatrix' D a -> [Column (RIMMatrix' D) a] Source #

swapRows :: RIMMatrix' D a -> Index -> Index -> RIMMatrix' D a Source #

scaleRow :: RIMMatrix' D a -> Index -> a -> RIMMatrix' D a Source #

unsafeIMapRowM :: Monad m => RIMMatrix' D a -> Index -> (Index -> a -> m a) -> m (RIMMatrix' D a) Source #

unsafeIMapRowM_ :: Monad m => RIMMatrix' D a -> Index -> (Index -> a -> m b) -> m () Source #

unsafeIMapRow :: RIMMatrix' D a -> Index -> (Index -> a -> a) -> RIMMatrix' D a Source #

combineRows :: Index -> a -> Index -> RIMMatrix' D a -> RIMMatrix' D a Source #

gaussReduction :: RIMMatrix' D a -> (RIMMatrix' D a, RIMMatrix' D a, a) Source #

(Eq a, Source repr (IntMap a)) => Eq (RIMMatrix' repr a) Source # 
Instance details

Defined in Algebra.Matrix.RepaIntMap

Methods

(==) :: RIMMatrix' repr a -> RIMMatrix' repr a -> Bool #

(/=) :: RIMMatrix' repr a -> RIMMatrix' repr a -> Bool #

(Monoidal a, Show a, Source repr (IntMap a)) => Show (RIMMatrix' repr a) Source # 
Instance details

Defined in Algebra.Matrix.RepaIntMap

Methods

showsPrec :: Int -> RIMMatrix' repr a -> ShowS #

show :: RIMMatrix' repr a -> String #

showList :: [RIMMatrix' repr a] -> ShowS #

NFData a => NFData (RIMMatrix' D a) Source # 
Instance details

Defined in Algebra.Matrix.RepaIntMap

Methods

rnf :: RIMMatrix' D a -> () #

NFData a => NFData (RIMMatrix' U a) Source # 
Instance details

Defined in Algebra.Matrix.RepaIntMap

Methods

rnf :: RIMMatrix' U a -> () #

NFData a => NFData (RIMMatrix' V a) Source # 
Instance details

Defined in Algebra.Matrix.RepaIntMap

Methods

rnf :: RIMMatrix' V a -> () #

type Mutable (RIMMatrix' r) Source # 
Instance details

Defined in Algebra.Matrix.RepaIntMap

type Row (RIMMatrix' r :: Type -> Type) Source # 
Instance details

Defined in Algebra.Matrix.RepaIntMap

type Row (RIMMatrix' r :: Type -> Type) = Vector
type Column (RIMMatrix' r :: Type -> Type) Source # 
Instance details

Defined in Algebra.Matrix.RepaIntMap

type Column (RIMMatrix' r :: Type -> Type) = Vector

delayMatrix :: Source rep (IntMap a) => RIMMatrix' rep a -> RIMMatrix' D a Source #

gaussReductionD :: (DecidableZero a, Normed a, Field a, Source repr (IntMap a)) => RIMMatrix' repr a -> RIMMatrix' D a Source #

gaussReductionP :: (Field a, DecidableZero a, Normed a) => DRIMMatrix a -> RIMMatrix a Source #

Perofms row echelon reduction, parallelly

gaussReductionS :: (Field a, DecidableZero a, Normed a) => DRIMMatrix a -> RIMMatrix a Source #

Perofms row echelon reduction, sequentially