
Data.Matrix.Dense  Stability  experimental  Maintainer  Patrick Perry <patperry@stanford.edu> 





Description 


Synopsis 

newtype Matrix mn e = M (IOMatrix mn e)   module BLAS.Tensor.Base   module BLAS.Matrix.Base   coerceMatrix :: BaseMatrix a x => a mn e > a mn' e   matrix :: BLAS1 e => (Int, Int) > [((Int, Int), e)] > Matrix (m, n) e   listMatrix :: BLAS1 e => (Int, Int) > [e] > Matrix (m, n) e   rowsMatrix :: BLAS1 e => (Int, Int) > [Vector n e] > Matrix (m, n) e   colsMatrix :: BLAS1 e => (Int, Int) > [Vector m e] > Matrix (m, n) e   rowMatrix :: BLAS1 e => Vector n e > Matrix (one, n) e   colMatrix :: BLAS1 e => Vector m e > Matrix (m, one) e   unsafeMatrix :: BLAS1 e => (Int, Int) > [((Int, Int), e)] > Matrix (m, n) e   module BLAS.Tensor.Immutable   zeroMatrix :: BLAS1 e => (Int, Int) > Matrix (m, n) e   constantMatrix :: BLAS1 e => (Int, Int) > e > Matrix (m, n) e   identityMatrix :: BLAS1 e => (Int, Int) > Matrix (m, n) e   submatrix :: Elem e => Matrix mn e > (Int, Int) > (Int, Int) > Matrix mn' e   splitRowsAt :: (BaseMatrix a x, Storable e) => Int > a (m, n) e > (a (m1, n) e, a (m2, n) e)   splitColsAt :: (BaseMatrix a x, Storable e) => Int > a (m, n) e > (a (m, n1) e, a (m, n2) e)   unsafeSubmatrix :: Elem e => Matrix mn e > (Int, Int) > (Int, Int) > Matrix mn' e   unsafeSplitRowsAt :: (BaseMatrix a x, Storable e) => Int > a (m, n) e > (a (m1, n) e, a (m2, n) e)   unsafeSplitColsAt :: (BaseMatrix a x, Storable e) => Int > a (m, n) e > (a (m, n1) e, a (m, n2) e)   diag :: Elem e => Matrix mn e > Int > Vector k e   unsafeDiag :: Elem e => Matrix mn e > Int > Vector k e   ldaOfMatrix :: BaseMatrix a x => a mn e > Int   isHermMatrix :: BaseMatrix a x => a mn e > Bool   module BLAS.Matrix.Immutable   class UnsafeFreezeMatrix a where    class UnsafeThawMatrix a where    freezeMatrix :: (ReadMatrix a x m, WriteMatrix b y m, UnsafeFreezeMatrix b, BLAS1 e) => a mn e > m (Matrix mn e)   thawMatrix :: (WriteMatrix a y m, BLAS1 e) => Matrix mn e > m (a mn e) 



Dense matrix type



Constructors   Instances  


Matrix shape


module BLAS.Tensor.Base 

module BLAS.Matrix.Base 


Cast the shape type of the matrix.


Creating matrices



Create a new matrix of the given size and initialize the given elements to
the given values. All other elements get set to zero.



Create a new matrix with the given elements in rowmajor order.



Create a matrix of the given shape from a list of rows



Create a matrix of the given shape from a list of columns



Get a matrix from a row vector.



Get a matrix from a column vector.



Same as matrix but does not do any bounds checking.


Reading matrix elements


module BLAS.Tensor.Immutable 

Special matrices



Get a new zero of the given shape.



Get a new constant of the given shape.



Get a new matrix of the given shape with ones along the diagonal and
zeroes everywhere else.


Matrix views



submatrix a ij mn returns the submatrix of a with element (0,0)
being element ij in a, and having shape mn.







Same as submatrix but indices are not rangechecked.






Vector views



Get a the given diagonal in a matrix. Negative indices correspond to
subdiagonals.



Same as diag but index is not rangechecked.


Lowlevel properties






Matrix and vector multiplication


module BLAS.Matrix.Immutable 

Converting between mutable and immutable matrices


class UnsafeFreezeMatrix a where  Source 

 Methods    Instances  


class UnsafeThawMatrix a where  Source 

 Methods    Instances  






Produced by Haddock version 2.3.0 