From 174c9cc36bffef1c3a63c6510e4b48c1a893edd7 Mon Sep 17 00:00:00 2001
From: Anton Kullberg <anton.kullberg@liu.se>
Date: Fri, 12 Nov 2021 12:03:54 +0100
Subject: [PATCH] bug: fixed IMM bug

---
 src/filters.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/filters.py b/src/filters.py
index a1d0e15..bcd2c09 100644
--- a/src/filters.py
+++ b/src/filters.py
@@ -1,5 +1,6 @@
 """Contains filter implementations.
 """
+import pdb
 import numpy as np
 import scipy.stats as stats
 import jax
@@ -111,10 +112,11 @@ class IMM:
         """
         # Calc. mixing probabilities
         mu = self.transition_prob*self.mode_probabilities[-1][:, None]
-        mu = mu/np.sum(mu, axis=0) # Normalize
+        mu = mu/np.sum(mu, axis=1, keepdims=True) # Normalize
         # Mixed state
-        xp = np.hstack([x@mu[:, [k]] for k in range(self.nmodes)])
+        xp = np.hstack([x@mu[[k], :].T for k in range(self.nmodes)])
         Pp = np.zeros(P.shape)
+
         for i in range(self.nmodes):
             xdiff = x-xp[:, [i]]
             covxp = np.stack([xdiff[:, [k]]@xdiff[:, [k]].T for k in range(self.nmodes)], axis=2)
-- 
GitLab