Rename “umfiter” as “first_iter_lu” and “iterstack” as “block_diagonal_lu” authored by Sébastien Villemot's avatar Sébastien Villemot
...@@ -17,11 +17,11 @@ Dynare 7 (unstable) ...@@ -17,11 +17,11 @@ Dynare 7 (unstable)
- Improvements to perfect foresight solver with iterative linear solvers, i.e. GMRES (`stack_solve_algo=2`) and BiCGStab (`stack_solve_algo=3`) - 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 + 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 new default, `preconditioner=first_iter_lu`, does a LU decomposition with complete pivoting at the first Newton iteration, and uses it as preconditioner in further iterations
+ 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 value `preconditioner=block_diagonal_lu` computes a block diagonal preconditioner based on a LU decomposition for only a few periods of the stacked system
+ The old default, using an incomplete LU decomposition, remains available under `precondition=ilu` + 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 + The `first_iter_lu` and `block_diagonal_lu` 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` + Other new options that control the behaviour of the iterative solvers: `iter_tol`, `iter_maxit`, `gmres_restart`, `block_diagonal_lu_maxlu`, `block_diagonal_lu_nperiods`, `block_diagonal_lu_nlu`, `block_diagonal_lu_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)
... ...
......