Block decomposition: fix deterministic simulations for block of type “Solve backward”
The results were incorrect for those two kinds of block, when not using bytecode.trustregion
parent
dd34554c4e
commit
bb793d87cc
|
@ -1,7 +1,7 @@
|
|||
function oo_ = solve_block_decomposed_problem(options_, M_, oo_)
|
||||
% Computes deterministic simulation with block option without bytecode
|
||||
|
||||
% Copyright (C) 2020 Dynare Team
|
||||
% Copyright (C) 2020-2022 Dynare Team
|
||||
%
|
||||
% This file is part of Dynare.
|
||||
%
|
||||
|
@ -71,7 +71,8 @@ for blk = 1:length(M_.block_structure.block)
|
|||
M_.block_structure.block(blk).Simulation_Type == 4 || ... % solveBackwardSimple
|
||||
M_.block_structure.block(blk).Simulation_Type == 6 || ... % solveForwardComplete
|
||||
M_.block_structure.block(blk).Simulation_Type == 7 % solveBackwardComplete
|
||||
[y, T, oo_] = solve_one_boundary(funcname, y, oo_.exo_simul, M_.params, oo_.steady_state, T, y_index, M_.block_structure.block(blk).NNZDerivatives, options_.periods, M_.block_structure.block(blk).is_linear, blk, M_.maximum_lag, options_.simul.maxit, options_.solve_tolf, options_.slowc, cutoff, options_.stack_solve_algo, true, true, false, M_, options_, oo_);
|
||||
is_forward = M_.block_structure.block(blk).Simulation_Type == 3 || M_.block_structure.block(blk).Simulation_Type == 6;
|
||||
[y, T, oo_] = solve_one_boundary(funcname, y, oo_.exo_simul, M_.params, oo_.steady_state, T, y_index, M_.block_structure.block(blk).NNZDerivatives, options_.periods, M_.block_structure.block(blk).is_linear, blk, M_.maximum_lag, options_.simul.maxit, options_.solve_tolf, options_.slowc, cutoff, options_.stack_solve_algo, is_forward, true, false, M_, options_, oo_);
|
||||
elseif M_.block_structure.block(blk).Simulation_Type == 5 || ... % solveTwoBoundariesSimple
|
||||
M_.block_structure.block(blk).Simulation_Type == 8 % solveTwoBoundariesComplete
|
||||
[y, T, oo_] = solve_two_boundaries(funcname, y, oo_.exo_simul, M_.params, oo_.steady_state, T, y_index, M_.block_structure.block(blk).NNZDerivatives, options_.periods, M_.block_structure.block(blk).maximum_lag, M_.block_structure.block(blk).maximum_lead, M_.block_structure.block(blk).is_linear, blk, M_.maximum_lag, options_.simul.maxit, options_.solve_tolf, options_.slowc, cutoff, options_.stack_solve_algo, options_, M_, oo_);
|
||||
|
|
Loading…
Reference in New Issue