extended path: fixed boundaries for linear problem

time-shift
Michel Juillard 2016-05-31 11:18:21 +02:00
parent 5024af0099
commit 0ce2834281
3 changed files with 12 additions and 3 deletions

View File

@ -1,4 +1,5 @@
function [options, y0, yT, z, i_cols, i_cols_J1, i_cols_T, i_cols_j, i_cols_1, dynamicmodel] = initialize_stack_solve_algo_7(endogenousvariables, options, M)
function [options, y0, yT, z, i_cols, i_cols_J1, i_cols_T, i_cols_j, i_cols_1, ...
dynamicmodel] = initialize_stack_solve_algo_7(endogenousvariables, options, M, steadystate_y)
% Copyright (C) 2015 Dynare Team
%
@ -21,12 +22,20 @@ periods = options.periods;
if (options.solve_algo == 10)
if ~isfield(options.lmmcp,'lb')
[lb,ub,pfm.eq_index] = get_complementarity_conditions(M,options.ramsey_policy);
if options.linear_approximation
lb = lb - steadystate_y;
ub = ub - steadystate_y;
end
options.lmmcp.lb = repmat(lb,periods,1);
options.lmmcp.ub = repmat(ub,periods,1);
end
elseif (options.solve_algo == 11)
if ~isfield(options.mcppath,'lb')
[lb,ub,pfm.eq_index] = get_complementarity_conditions(M,options.ramsey_policy);
if options.linear_approximation
lb = lb - steadystate_y;
ub = ub - steadystate_y;
end
options.mcppath.lb = repmat(lb,periods,1);
options.mcppath.ub = repmat(ub,periods,1);
end

View File

@ -18,7 +18,7 @@ function [endogenousvariables, info] = solve_stacked_linear_problem(endogenousva
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
[options, y0, yT, z, i_cols, i_cols_J1, i_cols_T, i_cols_j, i_cols_1, dynamicmodel] = ...
initialize_stacked_problem(endogenousvariables, options, M);
initialize_stacked_problem(endogenousvariables, options, M, steadystate_y);
ip = find(M.lead_lag_incidence(1,:)');
ic = find(M.lead_lag_incidence(2,:)');

View File

@ -18,7 +18,7 @@ function [endogenousvariables, info] = solve_stacked_problem(endogenousvariables
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
[options, y0, yT, z, i_cols, i_cols_J1, i_cols_T, i_cols_j, i_cols_1, dynamicmodel] = ...
initialize_stacked_problem(endogenousvariables, options, M);
initialize_stacked_problem(endogenousvariables, options, M, steadystate);
[y, check] = dynare_solve(@perfect_foresight_problem,z(:),options, ...
dynamicmodel, y0, yT, ...