Safe Haskell | None |
---|---|
Language | Haskell2010 |
Algorithm.Massiv.Utils
Synopsis
- type MMassArray (m :: Type -> Type) = MArray (PrimState m) S Ix2 Double
- getRows :: SRMatrix -> Array B Ix1 PVector
- getCols :: SRMatrix -> Array B Ix1 PVector
- appendRow :: MonadThrow m => SRMatrix -> PVector -> m SRMatrix
- appendCol :: MonadThrow m => SRMatrix -> PVector -> m SRMatrix
- updateS :: Array S Ix1 Double -> [(Int, Double)] -> Array S Ix1 Double
- linSpace :: Int -> (Double, Double) -> [Double]
- outer :: MonadThrow m => PVector -> PVector -> m SRMatrix
- det :: SRMatrix -> Double
- detChol :: SRMatrix -> Double
- rangedLinearDotProd :: PrimMonad m => Int -> Int -> Int -> MMassArray m -> m Double
- data NegDef = NegDef
- cholesky :: (PrimMonad m, MonadThrow m, MonadIO m) => SRMatrix -> m SRMatrix
- invChol :: (PrimMonad m, MonadThrow m, MonadIO m) => SRMatrix -> m SRMatrix
- lu :: (PrimMonad m, MonadThrow m, MonadIO m) => SRMatrix -> m (SRMatrix, SRMatrix)
- forwardSub :: (PrimMonad m, MonadThrow m, MonadIO m) => SRMatrix -> PVector -> m PVector
- backwardSub :: (PrimMonad m, MonadThrow m, MonadIO m) => SRMatrix -> PVector -> m PVector
- luSolve :: (PrimMonad m, MonadThrow m, MonadIO m) => SRMatrix -> PVector -> m PVector
- type PolyCos = (Double, Double, Double)
- cubicSplineCoefficients :: [(Double, Double)] -> [PolyCos]
- chunkBy :: Int -> [t] -> [[t]]
- genSplineFun :: [(Double, Double)] -> Double -> Double
Documentation
rangedLinearDotProd :: PrimMonad m => Int -> Int -> Int -> MMassArray m -> m Double Source #
Constructors
NegDef |
Instances
Exception NegDef Source # | |
Defined in Algorithm.Massiv.Utils Methods toException :: NegDef -> SomeException # fromException :: SomeException -> Maybe NegDef # displayException :: NegDef -> String # | |
Show NegDef Source # | |
forwardSub :: (PrimMonad m, MonadThrow m, MonadIO m) => SRMatrix -> PVector -> m PVector Source #
backwardSub :: (PrimMonad m, MonadThrow m, MonadIO m) => SRMatrix -> PVector -> m PVector Source #
cubicSplineCoefficients :: [(Double, Double)] -> [PolyCos] Source #
Given a list of (x,y) co-ordinates, produces a list of coefficients to cubic equations, with knots at each of the initially provided x co-ordinates. Natural cubic spline interpololation is used. See: http://en.wikipedia.org/wiki/Spline_interpolation#Interpolation_using_natural_cubic_spline.