packages feed

hmm-hmatrix 0.0.0.1 → 0.0.1

raw patch · 3 files changed

+7/−6 lines, 3 filesdep ~hmatrixPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: hmatrix

API changes (from Hackage documentation)

- Math.HiddenMarkovModel.Distribution: instance Field a => EmissionProb (Gaussian a)
- Math.HiddenMarkovModel.Distribution: instance Field a => Estimate (GaussianTrained a)
+ Math.HiddenMarkovModel.Distribution: instance (Numeric a, Field a) => EmissionProb (Gaussian a)
+ Math.HiddenMarkovModel.Distribution: instance (Numeric a, Field a) => Estimate (GaussianTrained a)

Files

hmm-hmatrix.cabal view
@@ -1,5 +1,5 @@ Name:                hmm-hmatrix-Version:             0.0.0.1+Version:             0.0.1 Synopsis:            Hidden Markov Models using HMatrix primitives Description:   Hidden Markov Models implemented using HMatrix data types and operations.@@ -39,7 +39,7 @@ Cabal-Version:       >=1.10  Source-Repository this-  Tag:         0.0.0.1+  Tag:         0.0.1   Type:        darcs   Location:    http://hub.darcs.net/thielema/hmm-hmatrix @@ -63,7 +63,7 @@     Math.HiddenMarkovModel.CSV     Math.HiddenMarkovModel.Test   Build-Depends:-    hmatrix >=0.15 && <0.16,+    hmatrix >=0.16 && <0.17,     explicit-exception >=0.1.7 && <0.2,     lazy-csv >=0.5 && <0.6,     random >=1.0 && <1.1,
src/Math/HiddenMarkovModel/Distribution.hs view
@@ -14,6 +14,7 @@ import qualified Math.HiddenMarkovModel.CSV as HMMCSV import Math.HiddenMarkovModel.Utility (randomItemProp, normalizeProb) +import qualified Numeric.LinearAlgebra.HMatrix as HMatrix import qualified Numeric.LinearAlgebra.Algorithms as Algo import qualified Numeric.Container as NC import qualified Data.Packed.Matrix as Matrix@@ -172,7 +173,7 @@                (NC.randomVector seed NC.Gaussian (Vector.dim center))             <> covarianceChol -instance (Algo.Field a) => EmissionProb (Gaussian a) where+instance (HMatrix.Numeric a, Algo.Field a) => EmissionProb (Gaussian a) where    emissionProb (Gaussian allParams) =       let cholSolve m x =              Matrix.flatten $ Algo.cholSolve m $ Matrix.asColumn x@@ -181,7 +182,7 @@              in  c * exp ((-1/2) * NC.dot x0 (cholSolve covarianceChol x0))       in  \x -> Vector.fromList $ map (prob x) $ Array.elems allParams -instance (Algo.Field a) => Estimate (GaussianTrained a) where+instance (HMatrix.Numeric a, Algo.Field a) => Estimate (GaussianTrained a) where    type Distribution (GaussianTrained a) = Gaussian a    accumulateEmissions =       let params xs =
src/Math/HiddenMarkovModel/Private.hs view
@@ -215,7 +215,7 @@  sumTransitions ::    (NC.Container Vector e, Num e) =>-   T distr t -> [Matrix e] -> Matrix e+   T distr e -> [Matrix e] -> Matrix e sumTransitions hmm =    List.foldl' NC.add (NC.konst 0 $ LinAlg.size $ transition hmm)