Safe Haskell | None |
---|---|
Language | Haskell98 |
- data Handle :: *
- create :: IO Handle
- class (DevicePtrs (EltRepr a) ~ ((), DevicePtr a), Fractional (StorableOf a), Cublas (StorableOf a), Storable (StorableOf a), Real a) => Element a
- mul :: (Shape ix, Slice ix, Eq ix, Element a, Elt a, IsNum a) => Handle -> Exp a -> Matrix ix a -> Matrix ix a -> Matrix ix a
- mac :: (Shape ix, Slice ix, Eq ix, Element a, Elt a, IsNum a) => Handle -> Exp a -> Matrix ix a -> Matrix ix a -> Exp a -> Matrix ix a -> Matrix ix a
- data LU ix a
- lu :: (Shape ix, Eq ix, Element a, Elt a) => Handle -> Matrix ix a -> LU ix a
- luInv :: (Shape ix, Eq ix, Element a, Elt a) => Handle -> LU ix a -> (Matrix ix a, Scalar ix Word32)
- inv :: (Shape ix, Eq ix, Element a, Elt a) => Handle -> Matrix ix a -> (Matrix ix a, Scalar ix Word32)
- luSolve :: (Shape ix, Slice ix, Eq ix, Element a, Elt a) => Handle -> LU ix a -> Matrix ix a -> Matrix ix a
- newtonInverseStep :: (Shape ix, Slice ix, Eq ix, Element a, Elt a, IsNum a) => Handle -> Matrix ix a -> Matrix ix a -> Matrix ix a
- newtonInverse :: (Shape ix, Slice ix, Eq ix, Element a, Elt a, IsNum a) => Handle -> Exp Int -> Matrix ix a -> Matrix ix a -> Matrix ix a
Documentation
data Handle :: *
Types
class (DevicePtrs (EltRepr a) ~ ((), DevicePtr a), Fractional (StorableOf a), Cublas (StorableOf a), Storable (StorableOf a), Real a) => Element a Source
mul :: (Shape ix, Slice ix, Eq ix, Element a, Elt a, IsNum a) => Handle -> Exp a -> Matrix ix a -> Matrix ix a -> Matrix ix a Source
mac :: (Shape ix, Slice ix, Eq ix, Element a, Elt a, IsNum a) => Handle -> Exp a -> Matrix ix a -> Matrix ix a -> Exp a -> Matrix ix a -> Matrix ix a Source
luInv :: (Shape ix, Eq ix, Element a, Elt a) => Handle -> LU ix a -> (Matrix ix a, Scalar ix Word32) Source
inv :: (Shape ix, Eq ix, Element a, Elt a) => Handle -> Matrix ix a -> (Matrix ix a, Scalar ix Word32) Source
Returns the inverted matrix and a rank information. If the matrix is invertible, then the rank information is zero. Otherwise it is the matrix rank plus 1.
luSolve :: (Shape ix, Slice ix, Eq ix, Element a, Elt a) => Handle -> LU ix a -> Matrix ix a -> Matrix ix a Source
Matrices with sizes larger than 32
are only supported starting with CUDA-6.5.
In CUDA-6.0 you will get the error
CUBLAS Exception: unsupported value or parameter passed to a function
.
On CUDA-6.0 you may prefer luInv
which works surprisingly.