diff --git a/matlab/dr1.m b/matlab/dr1.m index bf8fd981cc9f7998eedbc149d7c8841252161128..0a1b4afed638fba625fc7c0e14124ab9d68f18d6 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;