diff --git a/matlab/dynare_estimation_1.m b/matlab/dynare_estimation_1.m index f4f6a9b9fe311776854322f2ef59aa1120e2ac5a..183612574ca80437e6e26f54eea3d425326f8f68 100644 --- a/matlab/dynare_estimation_1.m +++ b/matlab/dynare_estimation_1.m @@ -235,7 +235,7 @@ if ~isequal(options_.mode_compute,0) && ~options_.mh_posterior_mode_estimation [junk1, junk2,junk3, junk4, hh] = feval(objective_function,xparam1, ... dataset_,dataset_info,options_,M_,estim_params_,bayestopt_,bounds,oo_); options_.analytic_derivation = ana_deriv_old; - elseif ~isnumeric(options_.mode_compute) || ~(isequal(options_.mode_compute,5) && newratflag~=1 && strcmp(func2str(objective_function),'dsge_likelihood')) + elseif ~isnumeric(options_.mode_compute) || ~(isequal(options_.mode_compute,5) && newratflag~=1 && strcmp(func2str(objective_function),'dsge_likelihood')) % with flag==0, we force to use the hessian from outer product gradient of optimizer 5 if options_.hessian.use_penalized_objective penalized_objective_function = str2func('penalty_objective_function'); diff --git a/matlab/optimization/newrat.m b/matlab/optimization/newrat.m index ef6d19d019823a2982a5575d1e4b5e56ffd30892..9f14d9f1c7b0322e0a0a7a2d0334e1b64f597c0c 100644 --- a/matlab/optimization/newrat.m +++ b/matlab/optimization/newrat.m @@ -154,7 +154,7 @@ while norm(gg)>gtol && check==0 && jit<nit if length(find(ig))<nx ggx=ggx*0; ggx(find(ig))=gg(find(ig)); - if analytic_derivation || ~outer_product_gradient, + if analytic_derivation || ~outer_product_gradient hhx=hh; else hhx = reshape(dum,nx,nx);