Matrix.Matrix

Description

Basic matrix routines

Synopsis

# Documentation

Arguments

 :: (Ix i, Ix j, Ix k, Num a) => Array (i, j) a A -> Array (j, k) a B -> Array (i, k) a C

Matrix-matrix multiplication: A x B = C

Arguments

 :: (Ix i, Ix j, Num a) => Array (i, j) a A -> Array j a b -> Array i a c

Matrix-vector multiplication: A x b = c

Arguments

 :: (Ix i, Ix j, Num a) => Array (i, j) a A -> Array (j, i) a A^T

Transpose of a matrix

Arguments

 :: (Ix i, Ix j, RealFloat a) => Array (i, j) (Complex a) A -> Array (j, i) (Complex a) A^H

Hermitian transpose (conjugate transpose) of a matrix

columnBounds :: (Ix i, Ix j) => Array (i, j) a -> (i, i) Source #

rowBounds :: (Ix i, Ix j) => Array (i, j) a -> (j, j) Source #

getColumn :: (Ix i, Ix j) => j -> Array (i, j) e -> Array i e Source #

getRow :: (Ix i, Ix j) => i -> Array (i, j) e -> Array j e Source #

toColumns :: (Ix i, Ix j) => Array (i, j) a -> [Array i a] Source #

toRows :: (Ix i, Ix j) => Array (i, j) a -> [Array j a] Source #

fromColumns :: Ix i => (i, i) -> [Array i a] -> Array (i, Int) a Source #

We need the bounds of the row indices for empty input lists.

fromRows :: Ix j => (j, j) -> [Array j a] -> Array (Int, j) a Source #

outer :: (Ix i, Ix j, Num a) => Array i a -> Array j a -> Array (i, j) a Source #

inner :: (Ix i, Num a) => Array i a -> Array i a -> a Source #