Copyright | (c) 2014 Kai Zhang |
---|---|
License | BSD3 |
Safe Haskell | None |
Language | Haskell2010 |
- rows :: Vector v a => Matrix v a -> Int
- cols :: Vector v a => Matrix v a -> Int
- dim :: Vector v a => Matrix v a -> (Int, Int)
- (!) :: Vector v a => Matrix v a -> (Int, Int) -> a
- unsafeIndex :: Vector v a => Matrix v a -> (Int, Int) -> a
- empty :: Vector v a => Matrix v a
- matrix :: Vector v a => Int -> [a] -> Matrix v a
- flatten :: Vector v a => Matrix v a -> v a
- fromVector :: Vector v a => (Int, Int) -> v a -> Matrix v a
- toRows :: Vector v a => Matrix v a -> [v a]
- toColumns :: Vector v a => Matrix v a -> [v a]
- fromRows :: Vector v a => [v a] -> Matrix v a
- fromColumns :: Vector v a => [v a] -> Matrix v a
- toList :: Vector v a => Matrix v a -> [a]
- toLists :: Vector v a => Matrix v a -> [[a]]
- fromLists :: Vector v a => [[a]] -> Matrix v a
- convert :: (Vector v a, Vector w a) => Matrix v a -> Matrix w a
- tr :: Vector v a => Matrix v a -> Matrix v a
- takeRow :: Vector v a => Matrix v a -> Int -> v a
- takeColumn :: Vector v a => Matrix v a -> Int -> v a
- subMatrix :: Vector v a => (Int, Int) -> (Int, Int) -> Matrix v a -> Matrix v a
- ident :: (Num a, Vector v a) => Int -> Matrix v a
- diag :: (Num a, Vector v a, Foldable t) => t a -> Matrix v a
- diagRect :: (Vector v a, Foldable t) => a -> (Int, Int) -> t a -> Matrix v a
- takeDiag :: Vector v a => Matrix v a -> v a
- fromBlocks :: Vector v a => a -> [[Matrix v a]] -> Matrix v a
- isSymmetric :: (Eq a, Vector v a) => Matrix v a -> Bool
- force :: Vector v a => Matrix v a -> Matrix v a
- foldl :: Vector v b => (a -> b -> a) -> a -> Matrix v b -> a
- imap :: (Vector v a, Vector v b) => ((Int, Int) -> a -> b) -> Matrix v a -> Matrix v b
- map :: (Vector v a, Vector v b) => (a -> b) -> Matrix v a -> Matrix v b
- mapM :: (Vector v a, Vector v b, Monad m) => (a -> m b) -> Matrix v a -> m (Matrix v b)
- mapM_ :: (Vector v a, Monad m) => (a -> m b) -> Matrix v a -> m ()
- forM :: (Vector v a, Vector v b, Monad m) => Matrix v a -> (a -> m b) -> m (Matrix v b)
- forM_ :: (Vector v a, Monad m) => Matrix v a -> (a -> m b) -> m ()
- generate :: Vector v a => (Int, Int) -> ((Int, Int) -> a) -> Matrix v a
Documentation
unsafeIndex :: Vector v a => Matrix v a -> (Int, Int) -> a Source
O(1) Unsafe indexing without bound check
Conversions
O(m*n) Matrix construction
fromColumns :: Vector v a => [v a] -> Matrix v a Source
O(m*n) Create matrix from columns
fromLists :: Vector v a => [[a]] -> Matrix v a Source
O(m*n) Create matrix from list of lists, it doesn't check if the list of list is a valid matrix
Different matrix types
convert :: (Vector v a, Vector w a) => Matrix v a -> Matrix w a Source
O(m*n) Convert different matrix type
takeColumn :: Vector v a => Matrix v a -> Int -> v a Source
O(m) Extract a column
:: Vector v a | |
=> (Int, Int) | upper left corner of the submatrix |
-> (Int, Int) | bottom right corner of the submatrix |
-> Matrix v a | |
-> Matrix v a |
O(1) Extract sub matrix
O(m*n) Create a square matrix with given diagonal, other entries default to 0
O(m*n) Create a rectangular matrix with default values and given diagonal