From e7df9878ae166b814c5fe7716fcfd35ea6421aa4 Mon Sep 17 00:00:00 2001
From: Marco Ratto <marco.ratto@jrc.ec.europa.eu>
Date: Thu, 5 Jul 2012 10:22:36 +0200
Subject: [PATCH] 1) changed options of optimizer n. 1 with analytic derivs; 2)
 force no analytic derivative with mode_check; (cherry picked from commit
 40e1e60fd1171776ac426e371e6b6ae888386b70)

---
 matlab/dynare_estimation_1.m | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/matlab/dynare_estimation_1.m b/matlab/dynare_estimation_1.m
index bd7af83806..8ac7a072c1 100644
--- a/matlab/dynare_estimation_1.m
+++ b/matlab/dynare_estimation_1.m
@@ -186,7 +186,7 @@ if ~isequal(options_.mode_compute,0) && ~options_.mh_posterior_mode_estimation
             eval(['optim_options = optimset(optim_options,' options_.optim_opt ');']);
         end
         if options_.analytic_derivation,
-            optim_options = optimset(optim_options,'GradObj','on');
+            optim_options = optimset(optim_options,'GradObj','on','TolX',1e-7);
         end
             [xparam1,fval,exitflag,output,lamdba,grad,hessian_fmincon] = ...
                 fmincon(objective_function,xparam1,[],[],[],[],lb,ub,[],optim_options,dataset_,options_,M_,estim_params_,bayestopt_,oo_);
@@ -426,7 +426,10 @@ if ~options_.mh_posterior_mode_estimation && options_.cova_compute
 end
 
 if options_.mode_check == 1 && ~options_.mh_posterior_mode_estimation
+    ana_deriv = options_.analytic_derivation;
+    options_.analytic_derivation = 0;
     mode_check(objective_function,xparam1,hh,dataset_,options_,M_,estim_params_,bayestopt_,oo_);
+    options_.analytic_derivation = ana_deriv;
 end
 
 oo_.posterior.optimization.mode = xparam1;
-- 
GitLab