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 +3/−3
- src/Math/HiddenMarkovModel/Distribution.hs +3/−2
- src/Math/HiddenMarkovModel/Private.hs +1/−1
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)