diff --git a/matlab/csminwel.m b/matlab/csminwel1.m similarity index 97% rename from matlab/csminwel.m rename to matlab/csminwel1.m index 9a5d881e9..fbd96495e 100644 --- a/matlab/csminwel.m +++ b/matlab/csminwel1.m @@ -1,5 +1,5 @@ -function [fh,xh,gh,H,itct,fcount,retcodeh] = csminwel(fcn,x0,H0,grad,crit,nit,method,epsilon,varargin) -%[fhat,xhat,ghat,Hhat,itct,fcount,retcodehat] = csminwel(fcn,x0,H0,grad,crit,nit,method,varargin) +function [fh,xh,gh,H,itct,fcount,retcodeh] = csminwel1(fcn,x0,H0,grad,crit,nit,method,epsilon,varargin) +%[fhat,xhat,ghat,Hhat,itct,fcount,retcodehat] = csminwel1(fcn,x0,H0,grad,crit,nit,method,epsilon,varargin) % fcn: string naming the objective function to be minimized % x0: initial value of the parameter vector % H0: initial value for the inverse Hessian. Must be positive definite. @@ -10,7 +10,7 @@ function [fh,xh,gh,H,itct,fcount,retcodeh] = csminwel(fcn,x0,H0,grad,crit,nit,me % function value by more than crit. % nit: Maximum number of iterations. % method: integer scalar, 2, 3 or 5 points formula. -% penalty: scalar double, size of the penality. +% epsilon: scalar double, numerical differentiation increment % varargin: A list of optional length of additional parameters that get handed off to fcn each % time it is called. % Note that if the program ends abnormally, it is possible to retrieve the current x, diff --git a/matlab/dynare_estimation_1.m b/matlab/dynare_estimation_1.m index c73ed8eb1..4f581ccbb 100644 --- a/matlab/dynare_estimation_1.m +++ b/matlab/dynare_estimation_1.m @@ -429,12 +429,12 @@ if options_.mode_compute > 0 & options_.posterior_mode_estimation verbose = 2; if ~options_.dsge_var [fval,xparam1,grad,hessian_csminwel,itct,fcount,retcodehat] = ... - csminwel('DsgeLikelihood',xparam1,H0,[],crit,nit,options_.gradient_method,options_.gradient_epsilon,gend,data,data_index,number_of_observations,no_more_missing_observations); + csminwel1('DsgeLikelihood',xparam1,H0,[],crit,nit,options_.gradient_method,options_.gradient_epsilon,gend,data,data_index,number_of_observations,no_more_missing_observations); disp(sprintf('Objective function at mode: %f',fval)) disp(sprintf('Objective function at mode: %f',DsgeLikelihood(xparam1,gend,data,data_index,number_of_observations,no_more_missing_observations))) else [fval,xparam1,grad,hessian_csminwel,itct,fcount,retcodehat] = ... - csminwel('DsgeVarLikelihood',xparam1,H0,[],crit,nit,options_.gradient_method,options_.gradient_epsilon,gend); + csminwel1('DsgeVarLikelihood',xparam1,H0,[],crit,nit,options_.gradient_method,options_.gradient_epsilon,gend); disp(sprintf('Objective function at mode: %f',fval)) disp(sprintf('Objective function at mode: %f',DsgeVarLikelihood(xparam1,gend))) end diff --git a/matlab/maximize_prior_density.m b/matlab/maximize_prior_density.m index 3ff454399..8cdde3eba 100644 --- a/matlab/maximize_prior_density.m +++ b/matlab/maximize_prior_density.m @@ -40,7 +40,7 @@ verbose = 2; gradient_method = 2; [lpd,xparams,grad,hessian,itct,fcount,retcodehat] = ... - csminwel('minus_logged_prior_density',iparams,H0,[],crit,nit,gradient_method, options_.gradient_epsilon, ... + csminwel1('minus_logged_prior_density',iparams,H0,[],crit,nit,gradient_method, options_.gradient_epsilon, ... prior_shape, prior_hyperparameter_1, prior_hyperparameter_2, prior_inf_bound, prior_sup_bound); lpd = -lpd; diff --git a/matlab/osr1.m b/matlab/osr1.m index 884f0d4e2..b79f94078 100644 --- a/matlab/osr1.m +++ b/matlab/osr1.m @@ -95,7 +95,7 @@ crit = 1e-7; nit = 1000; verbose = 2; -[f,p]=csminwel('osr_obj',t0,H0,[],crit,nit,options_.gradient_method,options_.gradient_epsilon,i_params,... +[f,p]=csminwel1('osr_obj',t0,H0,[],crit,nit,options_.gradient_method,options_.gradient_epsilon,i_params,... inv_order_var(i_var),weights(i_var,i_var)); % options = optimset('fminunc'); diff --git a/matlab/simulated_moments_estimation.m b/matlab/simulated_moments_estimation.m index 76e810f0c..e328b5870 100644 --- a/matlab/simulated_moments_estimation.m +++ b/matlab/simulated_moments_estimation.m @@ -209,10 +209,10 @@ if options.optimization_routine==1 % Minimization of the objective function. if nargin==2 [fval,param,grad,hessian_csminwel,itct,fcount,retcodehat] = ... - csminwel('smm_objective',xparam,H0,[],ct,it,2,options_.gradient_epsilon,sample_moments,weighting_matrix,options); + csminwel1('smm_objective',xparam,H0,[],ct,it,2,options_.gradient_epsilon,sample_moments,weighting_matrix,options); elseif nargin>2 [fval,param,grad,hessian_csminwel,itct,fcount,retcodehat] = ... - csminwel('smm_objective',xparam,H0,[],ct,it,2,options_.gradient_epsilon,sample_moments,weighting_matrix,options,parallel); + csminwel1('smm_objective',xparam,H0,[],ct,it,2,options_.gradient_epsilon,sample_moments,weighting_matrix,options,parallel); end elseif options.optimization_routine==2 optim_options = optimset('display','iter','MaxFunEvals',1000000,'MaxIter',6000,'TolFun',1e-4,'TolX',1e-4);