BLAS.Matrix.ReadOnly
 Stability experimental Maintainer Patrick Perry
 Contents Matrix and vector multiplication In-place multiplication Unsafe operations
Description
Synopsis
class (Matrix a, BLAS1 e) => RMatrix a e where
 unsafeDoApply :: a (m, n) e -> DVector t n e -> IOVector m e -> IO () unsafeDoApplyAdd :: a (m, n) e -> DVector t n e -> e -> IOVector m e -> IO () unsafeDoSApply :: e -> a (m, n) e -> DVector t n e -> IOVector m e -> IO () unsafeDoApplyMat :: a (m, k) e -> DMatrix t (k, n) e -> IOMatrix (m, n) e -> IO () unsafeDoApplyAddMat :: a (m, k) e -> DMatrix t (k, n) e -> e -> IOMatrix (m, n) e -> IO () unsafeDoSApplyMat :: e -> a (m, k) e -> DMatrix t (k, n) e -> IOMatrix (m, n) e -> IO () unsafeDoApply_ :: a (n, n) e -> IOVector n e -> IO () unsafeDoApplyMat_ :: a (m, m) e -> IOMatrix (m, n) e -> IO () unsafeDoSApply_ :: e -> a (n, n) e -> IOVector n e -> IO () unsafeDoSApplyMat_ :: e -> a (m, m) e -> IOMatrix (m, n) e -> IO () unsafeDoSApplyAdd :: e -> a (m, n) e -> DVector t n e -> e -> IOVector m e -> IO () unsafeDoSApplyAddMat :: e -> a (m, k) e -> DMatrix t (k, n) e -> e -> IOMatrix (m, n) e -> IO ()
getApply :: RMatrix a e => a (m, n) e -> DVector t n e -> IO (DVector r m e)
getApplyMat :: RMatrix a e => a (m, k) e -> DMatrix t (k, n) e -> IO (DMatrix r (m, n) e)
getSApply :: RMatrix a e => e -> a (m, n) e -> DVector t n e -> IO (DVector r m e)
getSApplyMat :: RMatrix a e => e -> a (m, k) e -> DMatrix t (k, n) e -> IO (DMatrix r (m, n) e)
doApply :: RMatrix a e => a (m, n) e -> DVector t n e -> IOVector m e -> IO ()
doApplyAdd :: RMatrix a e => a (m, n) e -> DVector t n e -> e -> IOVector m e -> IO ()
doApplyMat :: RMatrix a e => a (m, k) e -> DMatrix t (k, n) e -> IOMatrix (m, n) e -> IO ()
doApplyAddMat :: RMatrix a e => a (m, k) e -> DMatrix t (k, n) e -> e -> IOMatrix (m, n) e -> IO ()
doSApply :: RMatrix a e => e -> a (m, n) e -> DVector t n e -> IOVector m e -> IO ()
doSApplyAdd :: RMatrix a e => e -> a (m, n) e -> DVector t n e -> e -> IOVector m e -> IO ()
doSApplyMat :: RMatrix a e => e -> a (m, k) e -> DMatrix t (k, n) e -> IOMatrix (m, n) e -> IO ()
doSApplyAddMat :: RMatrix a e => e -> a (m, k) e -> DMatrix t (k, n) e -> e -> IOMatrix (m, n) e -> IO ()
doApply_ :: RMatrix a e => a (n, n) e -> IOVector n e -> IO ()
doApplyMat_ :: RMatrix a e => a (m, m) e -> IOMatrix (m, n) e -> IO ()
doSApply_ :: RMatrix a e => e -> a (n, n) e -> IOVector n e -> IO ()
doSApplyMat_ :: RMatrix a e => e -> a (m, m) e -> IOMatrix (m, n) e -> IO ()
unsafeGetApply :: RMatrix a e => a (m, n) e -> DVector t n e -> IO (DVector r m e)
unsafeGetApplyMat :: RMatrix a e => a (m, k) e -> DMatrix t (k, n) e -> IO (DMatrix r (m, n) e)
unsafeGetSApply :: RMatrix a e => e -> a (m, n) e -> DVector t n e -> IO (DVector r m e)
unsafeGetSApplyMat :: RMatrix a e => e -> a (m, k) e -> DMatrix t (k, n) e -> IO (DMatrix r (m, n) e)
Documentation
 class (Matrix a, BLAS1 e) => RMatrix a e where Source
Minimal complete definition: (unsafeDoSApplyAdd, unsafeDoSApplyAddMat) or (unsafeDoSApply, unsafeDoSApplyMat)
Methods
 unsafeDoApply :: a (m, n) e -> DVector t n e -> IOVector m e -> IO () Source
 unsafeDoApplyAdd :: a (m, n) e -> DVector t n e -> e -> IOVector m e -> IO () Source
 unsafeDoSApply :: e -> a (m, n) e -> DVector t n e -> IOVector m e -> IO () Source
 unsafeDoApplyMat :: a (m, k) e -> DMatrix t (k, n) e -> IOMatrix (m, n) e -> IO () Source
 unsafeDoApplyAddMat :: a (m, k) e -> DMatrix t (k, n) e -> e -> IOMatrix (m, n) e -> IO () Source
 unsafeDoSApplyMat :: e -> a (m, k) e -> DMatrix t (k, n) e -> IOMatrix (m, n) e -> IO () Source
 unsafeDoApply_ :: a (n, n) e -> IOVector n e -> IO () Source
 unsafeDoApplyMat_ :: a (m, m) e -> IOMatrix (m, n) e -> IO () Source
 unsafeDoSApply_ :: e -> a (n, n) e -> IOVector n e -> IO () Source
 unsafeDoSApplyMat_ :: e -> a (m, m) e -> IOMatrix (m, n) e -> IO () Source
 unsafeDoSApplyAdd :: e -> a (m, n) e -> DVector t n e -> e -> IOVector m e -> IO () Source
 unsafeDoSApplyAddMat :: e -> a (m, k) e -> DMatrix t (k, n) e -> e -> IOMatrix (m, n) e -> IO () Source
Instances
 BLAS1 e => RMatrix Perm e BLAS3 e => RMatrix (DMatrix t) e BLAS2 e => RMatrix (BMatrix s) e BLAS2 e => RMatrix (DiagMatrix t) e BLAS3 e => RMatrix (Herm (DMatrix s)) e BLAS2 e => RMatrix (Herm (BMatrix s)) e BLAS3 e => RMatrix (Tri (DMatrix s)) e BLAS2 e => RMatrix (Tri (BMatrix s)) e
Matrix and vector multiplication
 getApply :: RMatrix a e => a (m, n) e -> DVector t n e -> IO (DVector r m e) Source
Apply to a vector
 getApplyMat :: RMatrix a e => a (m, k) e -> DMatrix t (k, n) e -> IO (DMatrix r (m, n) e) Source
Apply to a matrix
 getSApply :: RMatrix a e => e -> a (m, n) e -> DVector t n e -> IO (DVector r m e) Source
Scale and apply to a vector
 getSApplyMat :: RMatrix a e => e -> a (m, k) e -> DMatrix t (k, n) e -> IO (DMatrix r (m, n) e) Source
Scale and apply to a matrix
In-place multiplication
 doApply :: RMatrix a e => a (m, n) e -> DVector t n e -> IOVector m e -> IO () Source
Apply to a vector and store the result in another vector
 doApplyAdd :: RMatrix a e => a (m, n) e -> DVector t n e -> e -> IOVector m e -> IO () Source
`y := a x + beta y`
 doApplyMat :: RMatrix a e => a (m, k) e -> DMatrix t (k, n) e -> IOMatrix (m, n) e -> IO () Source
Apply to a matrix and store the result in another matrix
 doApplyAddMat :: RMatrix a e => a (m, k) e -> DMatrix t (k, n) e -> e -> IOMatrix (m, n) e -> IO () Source
`c := a b + beta c`
 doSApply :: RMatrix a e => e -> a (m, n) e -> DVector t n e -> IOVector m e -> IO () Source
`y := alpha a x`
 doSApplyAdd :: RMatrix a e => e -> a (m, n) e -> DVector t n e -> e -> IOVector m e -> IO () Source
`y := alpha a x + beta y`
 doSApplyMat :: RMatrix a e => e -> a (m, k) e -> DMatrix t (k, n) e -> IOMatrix (m, n) e -> IO () Source
Scale and apply to a matrix and store the result in another matrix
 doSApplyAddMat :: RMatrix a e => e -> a (m, k) e -> DMatrix t (k, n) e -> e -> IOMatrix (m, n) e -> IO () Source
`c := alpha a b + beta c`
 doApply_ :: RMatrix a e => a (n, n) e -> IOVector n e -> IO () Source
`x := a x`
 doApplyMat_ :: RMatrix a e => a (m, m) e -> IOMatrix (m, n) e -> IO () Source
` b := a b`
 doSApply_ :: RMatrix a e => e -> a (n, n) e -> IOVector n e -> IO () Source
` x := alpha a x`
 doSApplyMat_ :: RMatrix a e => e -> a (m, m) e -> IOMatrix (m, n) e -> IO () Source
` b := alpha a b`
Unsafe operations
 unsafeGetApply :: RMatrix a e => a (m, n) e -> DVector t n e -> IO (DVector r m e) Source
 unsafeGetApplyMat :: RMatrix a e => a (m, k) e -> DMatrix t (k, n) e -> IO (DMatrix r (m, n) e) Source
 unsafeGetSApply :: RMatrix a e => e -> a (m, n) e -> DVector t n e -> IO (DVector r m e) Source
 unsafeGetSApplyMat :: RMatrix a e => e -> a (m, k) e -> DMatrix t (k, n) e -> IO (DMatrix r (m, n) e) Source
Produced by Haddock version 2.3.0