- New `perfect_foresight_controlled_paths` block that gives the possibility of controlling the value of some endogenous variables for some simulation periods (in which case some exogenous variables must be left free and are thus solved for by Dynare, to avoid over-determination of the problem). Can be used either in a pure perfect foresight context, or in perfect foresight with expectation errors.
- New `perfect_foresight_controlled_paths` block that gives the possibility of controlling the value of some endogenous variables for some simulation periods (in which case some exogenous variables must be left free and are thus solved for by Dynare, to avoid over-determination of the problem). Can be used either in a pure perfect foresight context, or in perfect foresight with expectation errors.
- Improvements to perfect foresight solver with iterative linear solvers, i.e. GMRES (`stack_solve_algo=2`) and BiCGStab (`stack_solve_algo=3`)
+ New `preconditioner` option to the `perfect_foresight_solver` and `perfect_foresight_with_expectation_errors_solver` commands, which controls the preconditioner used with GMRES or BiCGStab
+ The new default, `preconditioner=umfiter`, does a LU decomposition with complete pivoting at the first Newton iteration, and uses it as preconditioner in further iterations, similarly to TROLL’s option with the same name
+ The value `preconditioner=iterstack` computes a block diagonal preconditioner based on a LU decomposition for only a few periods of the stacked system, similarly to TROLL’s solver with the same name
+ The old default, using an incomplete LU decomposition, remains available under `precondition=ilu`
+ The `umfiter` and `iterstack` preconditioners deliver a significant performance improvement over the old default (`ilu`) and make this algorithm competitive and in some cases faster than other perfect foresight solvers
+ Other new options that control the behaviour of the iterative solvers: `iter_tol`, `iter_maxit`, `gmres_restart`, `iterstack_maxlu`, `iterstack_nperiods`, `iterstack_nlu`, `iterstack_relu`
- Option values `solve_algo={6,7,8}` and `stack_solve_algo={2,3}` are now available without `block` nor `bytecode` (e14a49211067b27114d8173b16d4cb8f7595b0c3, aa263e6a2adc9414142551a01bbcc46abb6a3894)
- Option values `solve_algo={6,7,8}` and `stack_solve_algo={2,3}` are now available without `block` nor `bytecode` (e14a49211067b27114d8173b16d4cb8f7595b0c3, aa263e6a2adc9414142551a01bbcc46abb6a3894)
- Trace plots now allow plotting the particles of SMC methods (53907ffb)
- Trace plots now allow plotting the particles of SMC methods (53907ffb)