|
| 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 |