Copyright | (C) 2016 Marco Zocca |
---|---|
License | GPL-3 (see LICENSE) |
Maintainer | zocca.marco gmail |
Stability | provisional |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Data.Sparse.Common
Contents
Description
- insertRowWith :: (IxCol -> IxCol) -> SpMatrix a -> SpVector a -> Key -> SpMatrix a
- insertRow :: SpMatrix a -> SpVector a -> Key -> SpMatrix a
- insertColWith :: (IxRow -> IxRow) -> SpMatrix a -> SpVector a -> IxCol -> SpMatrix a
- insertCol :: SpMatrix a -> SpVector a -> IxCol -> SpMatrix a
- diagonalSM :: SpVector a -> SpMatrix a
- outerProdSV :: Num a => SpVector a -> SpVector a -> SpMatrix a
- (><) :: Num a => SpVector a -> SpVector a -> SpMatrix a
- toSV :: SpMatrix a -> SpVector a
- svToSM :: SpVector a -> SpMatrix a
- lookupRowSM :: SpMatrix a -> IxRow -> Maybe (SpVector a)
- extractCol :: SpMatrix a -> IxCol -> SpVector a
- extractRow :: SpMatrix a -> IxRow -> SpVector a
- extractVectorDenseWith :: Num a => (Int -> (IxRow, IxCol)) -> SpMatrix a -> SpVector a
- extractRowDense :: Num a => SpMatrix a -> IxRow -> SpVector a
- extractColDense :: Num a => SpMatrix a -> IxCol -> SpVector a
- extractDiagDense :: Num a => SpMatrix a -> SpVector a
- extractSubRow :: SpMatrix a -> IxRow -> (Int, Int) -> SpVector a
- extractSubCol :: SpMatrix a -> IxCol -> (IxRow, IxRow) -> SpVector a
- extractSubRow_RK :: SpMatrix a -> IxRow -> (IxCol, IxCol) -> SpVector a
- extractSubCol_RK :: SpMatrix a -> IxCol -> (IxRow, IxRow) -> SpVector a
- fromRowsL :: [SpVector a] -> SpMatrix a
- fromRowsV :: Vector (SpVector a) -> SpMatrix a
- fromColsV :: Vector (SpVector a) -> SpMatrix a
- fromColsL :: [SpVector a] -> SpMatrix a
- toRowsL :: SpMatrix a -> [SpVector a]
- toColsL :: SpMatrix a -> [SpVector a]
Documentation
insertRowWith :: (IxCol -> IxCol) -> SpMatrix a -> SpVector a -> Key -> SpMatrix a Source #
Insert row , using the provided row index transformation function
insertColWith :: (IxRow -> IxRow) -> SpMatrix a -> SpVector a -> IxCol -> SpMatrix a Source #
Insert column, using the provided row index transformation function
diagonalSM :: SpVector a -> SpMatrix a Source #
Fill the diagonal of a SpMatrix with the components of a SpVector
lookupRowSM :: SpMatrix a -> IxRow -> Maybe (SpVector a) Source #
Lookup a row in a SpMatrix; returns an SpVector with the row, if this is non-empty
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
extractSubRow :: SpMatrix a -> IxRow -> (Int, Int) -> SpVector a Source #
extract row interval (all entries between columns j1 and j2, INCLUDED, are returned) extractSubRow :: SpMatrix a -> IxRow -> (IxCol, IxCol) -> SpVector a extractSubRow m i (j1, j2) = case lookupRowSM m i of Nothing -> zeroSV (ncols m) Just rv -> ifilterSV (j _ -> j >= j1 && j <= j2) rv
", returning in Maybe extractSubRow :: SpMatrix a -> IxRow -> (Int, Int) -> Maybe (SpVector a) extractSubRow m i (j1, j2) = resizeSV (j2 - j1) . ifilterSV (j _ -> j >= j1 && j j2) <$ lookupRowSM m i
Extract an interval of SpVector components, changing accordingly the resulting SpVector size. Keys are _not_ rebalanced, i.e. components are still labeled according with respect to the source matrix.
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
fromRowsV :: Vector (SpVector a) -> SpMatrix a Source #
Pack a V.Vector of SpVectors as rows of an SpMatrix
fromColsV :: Vector (SpVector a) -> SpMatrix a Source #
Pack a V.Vector of SpVectors as columns of an SpMatrix
toRowsL :: SpMatrix a -> [SpVector a] Source #
Unpack the rows of an SpMatrix into a list of SpVectors
toColsL :: SpMatrix a -> [SpVector a] Source #
Unpack the columns of an SpMatrix into a list of SpVectors