Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
- data SpVector a = SV {}
- spySV :: Fractional b => SpVector a -> b
- nzSV :: SpVector a -> Int
- sizeStrSV :: SpVector a -> String
- zeroSV :: Int -> SpVector a
- singletonSV :: a -> SpVector a
- mkSpVector :: (Num a, Eq a) => Int -> IntMap a -> SpVector a
- mkSpVectorD :: (Num a, Eq a) => Int -> [a] -> SpVector a
- mkSpVector1 :: Int -> IntMap a -> SpVector a
- fromListDenseSV :: Int -> [a] -> SpVector a
- oneHotSVU :: Num a => Int -> IxRow -> SpVector a
- oneHotSV :: Num a => Int -> IxRow -> SpVector a
- onesSV :: Num a => Int -> SpVector a
- zerosSV :: Num a => Int -> SpVector a
- insertSpVector :: Int -> a -> SpVector a -> SpVector a
- fromListSV :: Int -> [(Int, a)] -> SpVector a
- toListSV :: SpVector a -> [(Key, a)]
- toDenseListSV :: Num b => SpVector b -> [b]
- lookupSV :: Key -> SpVector a -> Maybe a
- lookupDefaultSV :: a -> Key -> SpVector a -> a
- lookupDenseSV :: Num a => Key -> SpVector a -> a
- tailSV :: SpVector a -> SpVector a
- headSV :: Num a => SpVector a -> a
- concatSV :: SpVector a -> SpVector a -> SpVector a
- filterSV :: (a -> Bool) -> SpVector a -> SpVector a
- ifilterSV :: (Int -> a -> Bool) -> SpVector a -> SpVector a
- orthogonalSV :: Fractional a => SpVector a -> SpVector a
Sparse Vector
Functor SpVector Source # | |
Foldable SpVector Source # | |
Set SpVector Source # | |
FiniteDim SpVector Source # | |
Normed SpVector Source # | |
Hilbert SpVector Source # | |
VectorSpace SpVector Source # | |
Additive SpVector Source # | |
Sparse SpVector a Source # | |
HasData SpVector a Source # | |
Eq a => Eq (SpVector a) Source # | |
Show a => Show (SpVector a) Source # | |
type FDSize SpVector Source # | |
type HDData SpVector a Source # | |
spySV :: Fractional b => SpVector a -> b Source #
SpVector sparsity
Creation
singletonSV :: a -> SpVector a Source #
singleton sparse vector (length 1)
mkSpVector :: (Num a, Eq a) => Int -> IntMap a -> SpVector a Source #
create a sparse vector from an association list while discarding all zero entries
mkSpVectorD :: (Num a, Eq a) => Int -> [a] -> SpVector a Source #
", from logically dense array (consecutive indices)
fromListDenseSV :: Int -> [a] -> SpVector a Source #
Create new sparse vector, assumin 0-based, contiguous indexing
oneHotSVU :: Num a => Int -> IxRow -> SpVector a Source #
one-hot encoding : `oneHotSV n k` produces a SpVector of length n having 1 at the k-th position
Element insertion
insertSpVector :: Int -> a -> SpVector a -> SpVector a Source #
insert element x
at index i
in a preexisting SpVector
fromList
toList
toDenseListSV :: Num b => SpVector b -> [b] Source #
To dense list (default = 0)
Lookup
lookupDefaultSV :: a -> Key -> SpVector a -> a Source #
Lookup an index, return a default value if lookup fails
lookupDenseSV :: Num a => Key -> SpVector a -> a Source #
Lookup an index in a SpVector, returns 0 if lookup fails
Sub-vectors
Orthogonal vector
orthogonalSV :: Fractional a => SpVector a -> SpVector a Source #
Generate an arbitrary (not random) vector u
such that `v dot u = 0`