|  | 
| | Data.Matrix.Dense.Operations | | Stability | experimental |  | Maintainer | Patrick Perry <patperry@stanford.edu> | 
 | 
 | 
|  | 
|  | 
|  | 
| Description | 
|  | 
|  | 
| Synopsis | 
|  | 
| | copyMatrix :: BLAS1 e => IOMatrix (m, n) e -> DMatrix t (m, n) e -> IO () |  |  |  | swapMatrices :: BLAS1 e => IOMatrix (m, n) e -> IOMatrix (m, n) e -> IO () |  |  |  | apply :: BLAS2 e => Matrix (m, n) e -> Vector n e -> Vector m e |  |  |  | applyMat :: BLAS3 e => Matrix (m, k) e -> Matrix (k, n) e -> Matrix (m, n) e |  |  |  | sapply :: BLAS2 e => e -> Matrix (m, n) e -> Vector n e -> Vector m e |  |  |  | sapplyMat :: BLAS3 e => e -> Matrix (m, k) e -> Matrix (k, n) e -> Matrix (m, n) e |  |  |  | getApply :: BLAS2 e => DMatrix s (m, n) e -> DVector t n e -> IO (DVector r m e) |  |  |  | getApplyMat :: BLAS3 e => DMatrix s (m, k) e -> DMatrix t (k, n) e -> IO (DMatrix r (m, n) e) |  |  |  | getSApply :: BLAS2 e => e -> DMatrix s (m, n) e -> DVector t n e -> IO (DVector r m e) |  |  |  | getSApplyMat :: BLAS3 e => e -> DMatrix s (m, k) e -> DMatrix t (k, n) e -> IO (DMatrix r (m, n) e) |  |  |  | shift :: BLAS1 e => e -> Matrix (m, n) e -> Matrix (m, n) e |  |  |  | scale :: BLAS1 e => e -> Matrix (m, n) e -> Matrix (m, n) e |  |  |  | invScale :: BLAS1 e => e -> Matrix (m, n) e -> Matrix (m, n) e |  |  |  | add :: BLAS1 e => e -> Matrix (m, n) e -> e -> Matrix (m, n) e -> Matrix (m, n) e |  |  |  | plus :: BLAS1 e => Matrix (m, n) e -> Matrix (m, n) e -> Matrix (m, n) e |  |  |  | minus :: BLAS1 e => Matrix (m, n) e -> Matrix (m, n) e -> Matrix (m, n) e |  |  |  | times :: BLAS2 e => Matrix (m, n) e -> Matrix (m, n) e -> Matrix (m, n) e |  |  |  | divide :: BLAS2 e => Matrix (m, n) e -> Matrix (m, n) e -> Matrix (m, n) e |  |  |  | getShifted :: BLAS1 e => e -> DMatrix t (m, n) e -> IO (DMatrix r (m, n) e) |  |  |  | getScaled :: BLAS1 e => e -> DMatrix t (m, n) e -> IO (DMatrix r (m, n) e) |  |  |  | getInvScaled :: BLAS1 e => e -> DMatrix t (m, n) e -> IO (DMatrix r (m, n) e) |  |  |  | getSum :: BLAS1 e => e -> DMatrix s (m, n) e -> e -> DMatrix t (m, n) e -> IO (DMatrix r (m, n) e) |  |  |  | getDiff :: BLAS1 e => DMatrix s (m, n) e -> DMatrix t (m, n) e -> IO (DMatrix r (m, n) e) |  |  |  | getProduct :: BLAS2 e => DMatrix s (m, n) e -> DMatrix t (m, n) e -> IO (DMatrix r (m, n) e) |  |  |  | getRatio :: BLAS2 e => DMatrix s (m, n) e -> DMatrix t (m, n) e -> IO (DMatrix r (m, n) e) |  |  |  | doConj :: BLAS1 e => IOMatrix (m, n) e -> IO (IOMatrix (m, n) e) |  |  |  | shiftBy :: BLAS1 e => e -> IOMatrix (m, n) e -> IO () |  |  |  | scaleBy :: BLAS1 e => e -> IOMatrix (m, n) e -> IO () |  |  |  | invScaleBy :: BLAS1 e => e -> IOMatrix (m, n) e -> IO () |  |  |  | axpy :: BLAS1 e => e -> DMatrix t (m, n) e -> IOMatrix (m, n) e -> IO () |  |  |  | (+=) :: BLAS1 e => IOMatrix (m, n) e -> DMatrix t (m, n) e -> IO () |  |  |  | (-=) :: BLAS1 e => IOMatrix (m, n) e -> DMatrix t (m, n) e -> IO () |  |  |  | (*=) :: BLAS2 e => IOMatrix (m, n) e -> DMatrix t (m, n) e -> IO () |  |  |  | (//=) :: BLAS2 e => IOMatrix (m, n) e -> DMatrix t (m, n) e -> IO () |  |  |  | gemv :: BLAS2 e => e -> DMatrix s (m, n) e -> DVector t n e -> e -> IOVector m e -> IO () |  |  |  | gemm :: BLAS3 e => e -> DMatrix s (m, k) e -> DMatrix t (k, n) e -> e -> IOMatrix (m, n) e -> IO () | 
 | 
|  | 
|  | 
| Copy and swap | 
|  | 
|  | 
| copy dst src copies the elements from the second argument to the first. | 
|  | 
|  | 
| swap a b exchanges the elements stored in two matrices. | 
|  | 
| Matrix multiplication | 
|  | 
| Pure | 
|  | 
|  | 
| Multiply a matrix by a vector. | 
|  | 
|  | 
| Multiply a matrix by a matrix. | 
|  | 
|  | 
| Multiply a scaled matrix by a vector. | 
|  | 
|  | 
| Multiply a scaled matrix by a matrix. | 
|  | 
| Impure | 
|  | 
|  | 
| Multiply a matrix by a vector. | 
|  | 
|  | 
| Multiply a matrix by a matrix. | 
|  | 
|  | 
| Multiply a scaled matrix by a vector. | 
|  | 
|  | 
| Multiply a scaled matrix by a matrix. | 
|  | 
| Matrix Arithmetic | 
|  | 
| Pure | 
|  | 
|  | 
| Form a new matrix by adding a value to every element in a matrix. | 
|  | 
|  | 
| Create a new matrix by scaling another matrix by the given value. | 
|  | 
|  | 
| Form a new matrix by dividing every element by a value. | 
|  | 
|  | 
| Create a new matrix by taking the elementwise sum of two matrices. | 
|  | 
|  | 
| Create a new matrix by taking the elementwise sum of two matrices. | 
|  | 
|  | 
| Create a new matrix by taking the elementwise difference of two matrices. | 
|  | 
|  | 
| Create a new matrix by taking the elementwise product of two matrices. | 
|  | 
|  | 
| Create a new matrix by taking the elementwise ratio of two matrices. | 
|  | 
| Impure | 
|  | 
|  | 
| Form a new matrix by adding a value to every element in a matrix. | 
|  | 
|  | 
| Form a new matrix by multiplying every element by a value. | 
|  | 
|  | 
| Form a new matrix by dividing every element by a value. | 
|  | 
|  | 
| Create a new matrix by taking the elementwise sum of two matrices. | 
|  | 
|  | 
| Create a new matrix by taking the elementwise difference of two matrices. | 
|  | 
|  | 
| Create a new matrix by taking the elementwise product of two matrices. | 
|  | 
|  | 
| Create a new matrix by taking the elementwise ratio of two matrices. | 
|  | 
| In-place operations | 
|  | 
|  | 
| Conjugate every element in a matrix. | 
|  | 
|  | 
| Scale every element by the given value. | 
|  | 
|  | 
| Scale every element in a matrix by the given value. | 
|  | 
|  | 
| Divide every element by the given value. | 
|  | 
|  | 
|  | 
|  | 
| In-place elementwise add. | 
|  | 
|  | 
| In-place elementwise subtract. | 
|  | 
|  | 
| In-place elementwise product. | 
|  | 
|  | 
| In-place elementwise divide. | 
|  | 
| BLAS operations | 
|  | 
|  | 
| gemv alpha a x beta y replaces y := alpha a * x + beta y | 
|  | 
|  | 
| gemm alpha a b beta c replaces c := alpha a * b + beta c. | 
|  | 
| Produced by Haddock version 2.3.0 |