From 6d1036b73865a681eb2d6b578c198cf4463ef34e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Karam=C3=A9?=
 <frederic.karame@univ-lemans.fr>
Date: Thu, 30 Jun 2016 11:42:45 +0200
Subject: [PATCH] Modifications to facilitate Cholesky of states variances.

---
 src/conditional_filter_proposal.m | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/conditional_filter_proposal.m b/src/conditional_filter_proposal.m
index 3a019c6..e90efa1 100644
--- a/src/conditional_filter_proposal.m
+++ b/src/conditional_filter_proposal.m
@@ -118,17 +118,17 @@ else
     Error = obs - PredictedObservedMean ;
     StateVectorMean = PredictedStateMean + KalmanFilterGain*Error ;
     StateVectorVariance = PredictedStateVariance - KalmanFilterGain*PredictedObservedVariance*KalmanFilterGain';
-    StateVectorVarianceSquareRoot = chol(StateVectorVariance + 1e-6)' ;
+    StateVectorVarianceSquareRoot = chol(StateVectorVariance + eye(number_of_state_variables)*1e-6)' ;
     if ParticleOptions.cpf_weights_method.amisanotristani
         Weights = SampleWeights.*probability2(zeros(number_of_observed_variables,1),chol(PredictedObservedVariance)',Error) ; 
     end
 end
 
-PredictedStateVarianceSquareRoot = chol(PredictedStateVariance + 1e-6)'  ;
+PredictedStateVarianceSquareRoot = chol(PredictedStateVariance + eye(number_of_state_variables)*1e-6)'  ;
 ProposalStateVector = StateVectorVarianceSquareRoot*randn(size(StateVectorVarianceSquareRoot,2),1)+StateVectorMean ;
 if ParticleOptions.cpf_weights_method.murrayjonesparslow
     Prior = probability2(PredictedStateMean,PredictedStateVarianceSquareRoot,ProposalStateVector) ; 
     Posterior = probability2(StateVectorMean,StateVectorVarianceSquareRoot,ProposalStateVector) ; 
     Likelihood = probability2(obs,H_lower_triangular_cholesky,measurement_equations(ProposalStateVector,ReducedForm,ThreadsOptions)) ; 
     Weights = SampleWeights.*Likelihood.*(Prior./Posterior) ;
-end
\ No newline at end of file
+end
-- 
GitLab