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

Safe HaskellSafe
LanguageHaskell2010

Numeric.LinearAlgebra.Sparse.IntMap

Contents

Synopsis

Documentation

set-like brackets

Insertion

insertIM2 :: Key -> Key -> a -> IntMap (IntMap a) -> IntMap (IntMap a) Source #

Insert an element

Lookup

lookupIM2 :: Key -> Key -> IntMap (IntMap a) -> Maybe a Source #

Lookup a key

fromListIM2 :: Foldable t => t (Key, Key, a) -> IntMap (IntMap a) -> IntMap (IntMap a) Source #

Ppopulate an IM2 from a list of (row index, column index, value)

folding

ifoldlIM2' :: (Key -> Key -> a -> b -> b) -> b -> IntMap (IntMap a) -> b Source #

Indexed left fold over an IM2, with general accumulator

ifoldlIM2 :: (Key -> Key -> t -> IntMap a -> IntMap a) -> IntMap (IntMap t) -> IntMap a Source #

Indexed left fold over an IM2

foldlIM2 :: (a -> b -> b) -> b -> IntMap (IntMap a) -> b Source #

Left fold over an IM2, with general accumulator

transposeIM2 :: IntMap (IntMap a) -> IntMap (IntMap a) Source #

Inner indices become outer ones and vice versa. No loss of information because both inner and outer IntMaps are nubbed.

filtering

ifilterIM2 :: (Key -> Key -> a -> Bool) -> IntMap (IntMap a) -> IntMap (IntMap a) Source #

Map over outer IM and filter all inner IM's

filterSubdiag :: IntMap (IntMap a) -> IntMap (IntMap a) Source #

Specialized filtering : keep only sub-diagonal elements

subdiagIndices :: IntMap (IntMap a) -> [(Key, Key)] Source #

List of (row, col) indices of (nonzero) subdiagonal elements

rpairs :: (a, [b]) -> [(a, b)] Source #

mapping

mapIM2 :: (a -> b) -> IntMap (IntMap a) -> IntMap (IntMap b) Source #

Map over IM2

imapIM2 :: (Key -> Key -> a -> b) -> IntMap (IntMap a) -> IntMap (IntMap b) Source #

Indexed map over IM2

mapKeysIM2 :: (Key -> Key) -> (Key -> Key) -> IntMap (IntMap a) -> IntMap (IntMap a) Source #

Mapping keys

mapColumnIM2 :: (b -> b) -> IntMap (IntMap b) -> Int -> IntMap (IntMap b) Source #

Orphan instances

Set IntMap Source # 

Methods

liftU2 :: (a -> a -> a) -> IntMap a -> IntMap a -> IntMap a Source #

liftI2 :: (a -> b -> c) -> IntMap a -> IntMap b -> IntMap c Source #

Normed IntMap Source # 

Methods

norm :: (Floating a, Eq a) => a -> IntMap a -> a Source #

Hilbert IntMap Source # 

Methods

dot :: Num a => IntMap a -> IntMap a -> a Source #

VectorSpace IntMap Source # 

Methods

(.*) :: Num a => a -> IntMap a -> IntMap a Source #

Additive IntMap Source # 

Methods

zero :: Num a => IntMap a Source #

(^+^) :: Num a => IntMap a -> IntMap a -> IntMap a Source #