From 0c6151df7a16b14dd2e32384c72fceb7009760df Mon Sep 17 00:00:00 2001
From: Johannes Pfeifer <jpfeifer@gmx.de>
Date: Tue, 26 Jan 2021 09:10:55 +0100
Subject: [PATCH] solve_model_for_online_filter.m: fix reduced form dimensions
 for oder=2 matrices at order=1

---
 .../src/solve_model_for_online_filter.m                | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/matlab/nonlinear-filters/src/solve_model_for_online_filter.m b/matlab/nonlinear-filters/src/solve_model_for_online_filter.m
index 332378d5a9..fbfcb05b62 100644
--- a/matlab/nonlinear-filters/src/solve_model_for_online_filter.m
+++ b/matlab/nonlinear-filters/src/solve_model_for_online_filter.m
@@ -165,11 +165,13 @@ if nargout>4
         ReducedForm.use_k_order_solver = true;
         ReducedForm.dr = dr;
     else
+        n_states=size(dr.ghx,2);
+        n_shocks=size(dr.ghu,2);
         ReducedForm.use_k_order_solver = false;
-        ReducedForm.ghxx = zeros(size(restrict_variables_idx,1),size(dr.kstate,2));
-        ReducedForm.ghuu = zeros(size(restrict_variables_idx,1),size(dr.ghu,2));
-        ReducedForm.ghxu = zeros(size(restrict_variables_idx,1),size(dr.ghx,2));
-        ReducedForm.constant = ReducedForm.steadystate ;
+        ReducedForm.ghxx = zeros(size(restrict_variables_idx,1),n_states^2);
+        ReducedForm.ghuu = zeros(size(restrict_variables_idx,1),n_shocks^2);
+        ReducedForm.ghxu = zeros(size(restrict_variables_idx,1),n_states*n_shocks);
+        ReducedForm.constant = ReducedForm.steadystate;
     end
     ReducedForm.state_variables_steady_state = dr.ys(dr.order_var(state_variables_idx));
     ReducedForm.Q = Q;
-- 
GitLab