matrices-0.4.0: native matrix based on vector

Safe HaskellNone
LanguageHaskell2010

Data.Matrix.Symmetric

Synopsis

Documentation

data SymMatrix v a Source

Symmetric square matrix

Constructors

SymMatrix !Int !(v a) 

Instances

Vector v a => Matrix SymMatrix v a 
Show (v a) => Show (SymMatrix v a) 
(Vector v a, Binary a) => Binary (SymMatrix v a) 
type Mutable SymMatrix = SymMMatrix 

dim :: Matrix m v a => m v a -> (Int, Int) Source

rows :: Matrix m v a => m v a -> Int Source

Derived methods

Return the number of rows

cols :: Matrix m v a => m v a -> Int Source

Return the number of columns

unsafeIndex :: Matrix m v a => m v a -> (Int, Int) -> a Source

(!) :: Matrix m v a => m v a -> (Int, Int) -> a Source

Indexing

flatten :: Matrix m v a => m v a -> v a Source

Default algorithm is O((m*n) * O(unsafeIndex)).

unsafeFromVector :: Matrix m v a => (Int, Int) -> v a -> m v a Source

fromVector :: Matrix m v a => (Int, Int) -> v a -> m v a Source

takeRow :: Matrix m v a => m v a -> Int -> v a Source

Extract a row. Default algorithm is O(n * O(unsafeIndex)).

thaw :: (Matrix m v a, PrimMonad s) => m v a -> s (Mutable m (Mutable v) (PrimState s) a) Source

unsafeThaw :: (Matrix m v a, PrimMonad s) => m v a -> s (Mutable m (Mutable v) (PrimState s) a) Source

freeze :: (Matrix m v a, PrimMonad s) => Mutable m (Mutable v) (PrimState s) a -> s (m v a) Source

unsafeFreeze :: (Matrix m v a, PrimMonad s) => Mutable m (Mutable v) (PrimState s) a -> s (m v a) Source

zip :: (Vector v a, Vector v b, Vector v (a, b)) => SymMatrix v a -> SymMatrix v b -> SymMatrix v (a, b) Source

zipWith :: (Vector v a, Vector v b, Vector v c) => (a -> b -> c) -> SymMatrix v a -> SymMatrix v b -> SymMatrix v c Source