blob: f6dc6679cc54a37affa014d691e06d88cf2dfc0d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
--- a/pykalman/utils.py
+++ b/pykalman/utils.py
@@ -70,7 +70,10 @@
cv_chol = linalg.cholesky(cv + min_covar * np.eye(n_dim),
lower=True)
cv_log_det = 2 * np.sum(np.log(np.diagonal(cv_chol)))
- cv_sol = solve_triangular(cv_chol, (X - mu).T, lower=True).T
+ try:
+ cv_sol = solve_triangular(cv_chol, (X - mu).T, lower=True).T
+ except ValueError:
+ cv_sol = np.linalg.solve(cv_chol, (X - mu).T).T
log_prob[:, c] = - .5 * (np.sum(cv_sol ** 2, axis=1) + \
n_dim * np.log(2 * np.pi) + cv_log_det)
|