sparse-linear-algebra-0.2.1.0: Numerical computation in native Haskell

Copyright(C) 2016 Marco Zocca
LicenseGPL-3 (see LICENSE)
Maintainerzocca.marco gmail
Stabilityprovisional
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Data.Sparse.Common

Description

 

Synopsis

Documentation

insertRowWith :: (IxCol -> IxCol) -> SpMatrix a -> SpVector a -> Key -> SpMatrix a Source #

Insert row , using the provided row index transformation function

insertRow :: SpMatrix a -> SpVector a -> Key -> SpMatrix a Source #

Insert row

insertColWith :: (IxRow -> IxRow) -> SpMatrix a -> SpVector a -> IxCol -> SpMatrix a Source #

Insert column, using the provided row index transformation function

insertCol :: SpMatrix a -> SpVector a -> IxCol -> SpMatrix a Source #

Insert column

diagonalSM :: SpVector a -> SpMatrix a Source #

Fill the diagonal of a SpMatrix with the components of a SpVector

outerProdSV :: Num a => SpVector a -> SpVector a -> SpMatrix a Source #

Outer product (all-with-all matrix)

(><) :: Num a => SpVector a -> SpVector a -> SpMatrix a Source #

Outer product (all-with-all matrix)

toSV :: SpMatrix a -> SpVector a Source #

Demote (n x 1) or (1 x n) SpMatrix to SpVector

svToSM :: SpVector a -> SpMatrix a Source #

promote a SV to SM

extractCol :: SpMatrix a -> IxCol -> SpVector a Source #

Extract jth column

extractRow :: SpMatrix a -> IxRow -> SpVector a Source #

Extract ith row

extractVectorDenseWith :: Num a => (Int -> (IxRow, IxCol)) -> SpMatrix a -> SpVector a Source #

Generic extraction function

extractRowDense :: Num a => SpMatrix a -> IxRow -> SpVector a Source #

Extract ith row (dense)

extractColDense :: Num a => SpMatrix a -> IxCol -> SpVector a Source #

Extract jth column

extractDiagDense :: Num a => SpMatrix a -> SpVector a Source #

Extract the diagonal

extractSubRow :: SpMatrix a -> IxRow -> (IxCol, IxCol) -> SpVector a Source #

extract row interval

extractSubCol :: SpMatrix a -> IxCol -> (IxRow, IxRow) -> SpVector a Source #

extract column interval

extractSubRow_RK :: SpMatrix a -> IxRow -> (IxCol, IxCol) -> SpVector a Source #

extract row interval, rebalance keys by subtracting lowest one

extractSubCol_RK :: SpMatrix a -> IxCol -> (IxRow, IxRow) -> SpVector a Source #

extract column interval, rebalance keys by subtracting lowest one

matVec :: Num a => SpMatrix a -> SpVector a -> SpVector a Source #

Matrix-on-vector

(#>) :: Num a => SpMatrix a -> SpVector a -> SpVector a Source #

Matrix-on-vector

vecMat :: Num a => SpVector a -> SpMatrix a -> SpVector a Source #

Vector-on-matrix (FIXME : transposes matrix: more costly than matVec, I think)

(<#) :: Num a => SpVector a -> SpMatrix a -> SpVector a Source #

Vector-on-matrix (FIXME : transposes matrix: more costly than matVec, I think)

prd :: PrintDense a => a -> IO () Source #