Commit Graph

15621 Commits (merge-particles-into-master)

Author SHA1 Message Date
Stéphane Adjemian (Ryûk) 8fc9109108
Merge particles submodule into master. 2023-07-12 09:38:04 +02:00
Stéphane Adjemian (Ryûk) 21dcc911bc
Move files and delete unused folders and files. 2023-07-12 09:29:41 +02:00
Stéphane Adjemian (Argos) 6265a6d2b1
Update dseries submodule (add two arguments to dplot command). 2023-07-07 11:40:41 +02:00
Stéphane Adjemian (Argos) bd0493d135
Add routine for dynamic contributions in semi-structural models. 2023-07-06 22:26:09 +02:00
Stéphane Adjemian (Argos) 5e869669a0
Set verbose to false by default. 2023-07-06 22:26:07 +02:00
Sébastien Villemot 175662a75e Merge branch 'brooks_gelman_plotrows' into 'master'
Add brooks_gelman_plotrows to manual and testsuite

See merge request Dynare/dynare!2146
2023-07-06 16:16:22 +00:00
Johannes Pfeifer 9b2c0fb94d Add brooks_gelman_plotrows to manual and testsuite 2023-07-06 09:32:19 -04:00
Sébastien Villemot ffdeccc05d
Fix preprocessor submodule repository location
Bug introduced in ed7fe89bfa.

Ref. !2142
2023-07-05 15:58:47 +02:00
Sébastien Villemot ae67b4a145 Merge branch 'master' into 'master'
Variable number of parameter MCMC convergence plots

See merge request Dynare/dynare!2127
2023-07-05 10:07:39 +00:00
William Gatt eb5eefdcf0 Variable number of parameter MCMC convergence plots
This change allows the user to change the number of parameters for which the MCMC convergence diagnostics are shown. The user needs to set a value for options_.convergence.brooksgelman.plotrows for an arbitrary number of parameters to be shown, but defaulting to 3 if no input is supplied.
2023-07-05 10:07:38 +00:00
Sébastien Villemot 3b9c515674 Merge branch 'pruning_2nd_order' into 'master'
Fixes local_state_space_iteration_3 and adds a test comparing the various pruning routines

See merge request Dynare/dynare!2144
2023-07-05 07:05:52 +00:00
Normann Rion 23dbb2b4b9 Fixes local_state_space_iteration_3 and adds a test comparing the various pruning routines used in dynare up to order 3.
The considered pruning routines can be found in
   - `simult_.m`
   - `local_state_space_iteration_2` MEX
   - `local_state_space_iteration_3` MEX
   - `pruned_state_space_system.m`
2023-07-04 19:15:43 +02:00
Sébastien Villemot a044ec45b1
Merge branch 'exo_names_orig_ord' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2142
2023-07-04 16:37:26 +02:00
Sébastien Villemot 3bdbfef301 Merge branch 'local_state_space_iteration_3' of git.dynare.org:normann/particles
Ref. particles!17
2023-07-04 11:21:46 +02:00
Sébastien Villemot 8b945dfd64
libkorder: use infinity instead of large constant in minimization algorith
By the way, also use C++17 initialization within “if” statement.
2023-07-04 11:20:51 +02:00
Normann Rion d2c324eeee Amends the various filters to fit the fixed version of local_state_space_iteration_3
See MR !2144 for more details
2023-07-01 16:43:48 +02:00
Johannes Pfeifer d386bb9f76 Cholesky decomposition: only add to diagonal if really necessary
Closes #1891
2023-06-23 11:26:14 -04:00
Johannes Pfeifer ed7fe89bfa Remove unused exo_names_orig_ord 2023-06-23 08:41:12 -04:00
Willi Mutschler e6920a60a1
Default option: don't save files for csminwel and cmaes
Usually these files are not needed (if then user can turn this option on manually) and only clutter the folder.
Moreover, the testsuite crashes on rare occasions if several mod files are run in the same folder and the optimizers write the files simultaneously.
2023-06-23 12:11:23 +02:00
Johannes Pfeifer 050679cd56
Rename resid.m
Closes #1888
2023-06-23 12:10:18 +02:00
Sébastien Villemot 20f04d3749
Merge branch 'dseries_autotransform' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2140
2023-06-23 12:07:32 +02:00
Johannes Pfeifer 782368eb9b dseries: document saving of atr log
Related to dseries@f2bdd617
2023-06-22 13:56:19 -04:00
Sébastien Villemot b88a779c82 Merge branch 'Johannes' into 'master'
Use official English translation of Johannes's affiliation

See merge request Dynare/dynare!2137
2023-06-21 18:21:23 +00:00
Johannes Pfeifer ec55e6b7c6 Use official English translation of Johannes's affiliation 2023-06-21 13:15:43 -04:00
Sébastien Villemot 01007e3776
Windows package: avoid prompts from unzip that cause build failures
Unpacked files may already be present due to GitLab CI caching.

Bug introduced in 39c2cba1b6.
2023-06-21 17:25:02 +02:00
Sébastien Villemot d5a3a8e16a
Various improvements to perfect foresight homotopy
– 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)
2023-06-21 15:58:23 +02:00
Sébastien Villemot 3a789ca780
🐛 dynare_solve would incorrectly accept some guess values leading to NaN residuals
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.
2023-06-20 15:35:36 +02:00
Sébastien Villemot ec336e9c95
Manual: homotopy in perfect foresight supported for purely backward/forward/static models
Done in fe142b663e.

[skip ci]
2023-06-19 18:01:47 +02:00
Sébastien Villemot 39c2cba1b6
Windows package: use official x13as binary, instead of building it from source
Ref. #1878
2023-06-19 16:19:47 +02:00
Sébastien Villemot a8de0f56f3
CONTRIBUTING.md: mention that GitLab account creation is moderated
[skip ci]
2023-06-19 14:57:06 +02:00
Sébastien Villemot 86ef9f2924
CONTRIBUTING.md: replace straight quotes by typographical quotes
[skip ci]
2023-06-19 14:54:15 +02:00
Sébastien Villemot 8fa37a0439
perfect_foresight_with_expectation_errors_solver: remove obsolete code
This should have been removed in c1b78e26ac
2023-06-16 16:45:04 +02:00
Sébastien Villemot d4b5e156d1
perfect_foresight_with_expectation_errors_solver: check convergence of informational iterations
Error out if an iteration failed.

Also display an informative message about those iterations.
2023-06-16 16:45:04 +02:00
Sébastien Villemot 018f69b69b
Windows package: stronger compiler optimization flags
– 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+)
2023-06-16 15:35:29 +02:00
Sébastien Villemot 396267260a
Block solvers: improvement to error messages
– Do not mention internal options_ structure
– Remain agnostic about whether we are in a steady state or a deterministic simulation

[skip ci]
2023-06-15 15:49:50 +02:00
Sébastien Villemot c1b78e26ac
perfect_foresight_with_expectation_errors_{setup,solver}: streamline handling of guess values
– 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
2023-06-15 15:37:48 +02:00
Sébastien Villemot 30c17ad346
🐛 Steady state: wrong value of maxit was used for some block/bytecode cases
It was using the value of maxit for perfect foresight simulations.
2023-06-15 15:37:48 +02:00
Sébastien Villemot c7b4ea40f8
🐛 Steady state computation: fix crash if bytecode (without block) does not find a solution
ys was uninitialized and it would crash further down in the function.
2023-06-15 15:37:48 +02:00
Sébastien Villemot d6ea315a18
Bytecode: further improve some informative messages 2023-06-15 15:37:45 +02:00
Stéphane Adjemian (Ryûk) a541e1e6d0
Update dseries submodule. 2023-06-14 10:47:57 +02:00
Sébastien Villemot 192f136b96
Bytecode: improve some informative messages 2023-06-13 16:59:08 +02:00
Sébastien Villemot 277c5d4c4f
Bytecode: display real iteration time instead of CPU time 2023-06-13 16:59:08 +02:00
Sébastien Villemot 7c9e261355
Bytecode: fix treatment of maxit option
It would do one extra iteration.
2023-06-13 16:59:08 +02:00
Sébastien Villemot dcf56b89cd
Bytecode: rework message verbosity
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
2023-06-13 16:59:07 +02:00
Sébastien Villemot 73b1850cb5
Bytecode: remove unused function 2023-06-13 16:58:06 +02:00
Sébastien Villemot d81e3992c3
perfect_foresight_solver_core: fix crash when bytecode does not converge
The bug was introduced in commit 7722e8e36b
2023-06-12 19:19:21 +02:00
Sébastien Villemot 4431a89e87
perfect_foresight_solver_core.m: when relevant, use bytecode MEX to recompute ∞-norm of residuals
Since commit 7722e8e36b it would always use the
perfect_foresight_problem MEX, but the latter is less efficient than bytecode.
2023-06-12 19:18:45 +02:00
Sébastien Villemot 73ae1ac8ce
evaluate_steady_state: minor simplification 2023-06-12 19:18:44 +02:00
Sébastien Villemot 08d378c244
Bytecode: in evaluate+dynamic mode, return residuals with as many columns as periods
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.
2023-06-12 19:18:44 +02:00
Sébastien Villemot 8cf8731c65
det_cond_forecast.m: use better syntax for ignored outputs 2023-06-12 19:18:44 +02:00