From 1530f0c6b1a5b2579344aee6dc544f5f32da6ea3 Mon Sep 17 00:00:00 2001
From: Michel Juillard <michel.juillard@mjui.fr>
Date: Fri, 2 Dec 2011 11:41:42 +0100
Subject: [PATCH] corrected bug in computation of dr.ghs2 introduced in commit
 84eaaaf7597c15927bb088ffb191f74309824105 (cherry-picked by hand from commit
 76407c97)

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

diff --git a/matlab/dr1.m b/matlab/dr1.m
index bf8fd981c..0a1b4afed 100644
--- a/matlab/dr1.m
+++ b/matlab/dr1.m
@@ -576,7 +576,7 @@ dr.ghuu = A\rhs;
 
 dr.ghxx = dr.ghxx(1:M_.endo_nbr,:);
 dr.ghxu = dr.ghxu(1:M_.endo_nbr,:);
-dr.ghuu = dr.ghuu(1:M_.endo_nbr,:);
+rdr.ghuu = dr.ghuu(1:M_.endo_nbr,:);
 
 
 % dr.ghs2
@@ -599,8 +599,8 @@ E1 = [eye(npred); zeros(kp-npred,npred)];
 H = E1;
 hxx = dr.ghxx(nstatic+[1:npred],:);
 [junk,k2a,k2] = find(M_.lead_lag_incidence(M_.maximum_endo_lag+2,order_var));
-[junk,k3a,k3] = find(M_.lead_lag_incidence(M_.maximum_endo_lag+2,:));
-[err, B1] = sparse_hessian_times_B_kronecker_C(hessian(:,kh(k3,k3)),gu(k3a,:),options_.threads.kronecker.sparse_hessian_times_B_kronecker_C);
+k3 = nnz(M_.lead_lag_incidence(1:M_.maximum_endo_lag+1,:))+(1:dr.nsfwrd)';
+[err, B1] = sparse_hessian_times_B_kronecker_C(hessian(:,kh(k3,k3)),gu(k2a,:),options_.threads.kronecker.sparse_hessian_times_B_kronecker_C);
 mexErrCheck('sparse_hessian_times_B_kronecker_C', err);
 RHS = RHS + jacobia_(:,k2)*guu(k2a,:)+B1;
 
-- 
GitLab