blas-0.5: Bindings to the BLAS librarySource codeContentsIndex
BLAS.Matrix.ReadOnly
Stabilityexperimental
MaintainerPatrick Perry <patperry@stanford.edu>
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 whereSource
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
show/hide 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