From 0b87f66443dae79030e6c12de8929246c8d7a88b Mon Sep 17 00:00:00 2001 From: Johannes Pfeifer Date: Sun, 17 Jan 2021 16:37:46 +0100 Subject: [PATCH] non_linear_dsge_likelihood.m: do not set use_k_order_solver with pruning local_state_space_iteration_k does not support it, use local_state_space_iteration_2 at order=2 instead and error out with order=3 --- matlab/initial_estimation_checks.m | 3 +++ matlab/non_linear_dsge_likelihood.m | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/matlab/initial_estimation_checks.m b/matlab/initial_estimation_checks.m index bec9b41ba..0e293e7c2 100644 --- a/matlab/initial_estimation_checks.m +++ b/matlab/initial_estimation_checks.m @@ -63,6 +63,9 @@ if DynareOptions.order>1 end end end + if DynareOptions.order>2 && DynareOptions.particle.pruning==1 + error('initial_estimation_checks:: the particle filter with order>2 does not support pruning') + end end non_zero_ME=length(EstimatedParameters.H_entries_to_check_for_positive_definiteness); diff --git a/matlab/non_linear_dsge_likelihood.m b/matlab/non_linear_dsge_likelihood.m index 5d165281f..a4bef4237 100644 --- a/matlab/non_linear_dsge_likelihood.m +++ b/matlab/non_linear_dsge_likelihood.m @@ -119,7 +119,7 @@ ReducedForm.H = H; ReducedForm.mf0 = mf0; ReducedForm.mf1 = mf1; -if DynareOptions.k_order_solver +if DynareOptions.k_order_solver && ~(DynareOptions.particle.pruning && DynareOptions.order==2) ReducedForm.use_k_order_solver = true; ReducedForm.dr = dr; else