– new option “endval_steady” to pf_setup command to recompute terminal
steady state in the homotopy loop
– new options “homotopy_linearization_fallback” and
“homotopy_marginal_linearization_fallback” to pf_solver and pfwee_solver
commands, to get an approximate solution when homotopy fails to go to 100%
– new options “homotopy_initial_step_size”, “homotopy_min_step_size”,
“homotopy_step_size_increase_success_count” and “homotopy_max_completion_share”
to pf_solver and pfwee_solver commands to fine tune the homotopy behaviour
– removed option “homotopy_alt_starting_point” to pf_solver command, not really
useful
– new options “steady_solve_algo”, “steady_tolf”, “steady_tolx”,
“steady_maxit”, “steady_markowitz” to pf_solver and pfwee_solver commands, to
control the computation of the terminal steady state (and remove the
equivalent options which previously had different names in pfwee_solver command)
If the guess value passed to dynare_solve was such that the residuals were all
below tolerance, except some that were NaN, then this guess value would be
incorrectly accepted as a solution.
– enable maximum optimization (-O3), which in particular triggers code
auto-vectorization
– raise the minimal architectural requirement to match MSYS2 policy
(roughly requires CPUs from ~2006/7+)
– Remove the terminal_steady_state_as_guess_value option to pfwee_solver
– pfwee_setup now sets the same guess values as pf_setup (i.e. terminal steady
state at all periods)
– With constant_simulation_length option, pfwee_solver uses terminal steady
state as guess values for periods that are added to the simulation
Now uses options_.verbosity to decide what to print:
– if options_.verbosity == 0, prints nothing
– if options_.verbosity >= 1, prints iteration counter and duration, and fatal errors
– if options_.verbosity >= 2, additionally print floating point exceptions and
details about algorithmic decisions
Previously it would also include initial and terminal conditions (i.e.
residuals would have periods+maximum_lag+maximum_lead columns). But we do not
care about residuals at the initial and terminal conditions.
This change is for consistency with the perfect_foresight_problem MEX.
The formulas are taken from commit 46401325ed2c4d72adb6f1592cf6096bb844b489 of
the homebrew-core repository.
The gcc.rb formula was modified by adding “cellar: :any” to all bottles (see
https://github.com/Homebrew/brew/blob/master/docs/Bottles.md).
The preprocessor has been updated accordingly.
They now only return what’s really their output (simulated paths, maximum
residual error…). This is a move towards a more functional programming style.