Commit Graph

1895 Commits (e9ffb16ec62b8e6cba2ca1dc84e8c4c65d8a45f0)

Author SHA1 Message Date
Johannes Pfeifer acb9518dec get_perturbation_params_derivs and friends: do not pass full oo_ structure 2023-10-02 09:18:58 +02:00
Johannes Pfeifer 7da5ff4fad gsa: reduce sample size of tests 2023-10-01 18:04:35 +02:00
Johannes Pfeifer 776c247b9b testsuite: use silent_optimizer option to not clutter meson log-file 2023-10-01 18:04:16 +02:00
Sébastien Villemot 0e5bba7567
Testsuite: fix workaround for TeX option with MATLAB R2014a
MATLAB R2014a run with -nodisplay crashes with the TeX option. A workaround was
introduced in commit f946baf6c5. The present
commit updates this workaround following the move to the Meson build system.

By the way, use consistent variable naming in tests/run_mod_file.m.
2023-09-28 15:17:00 +02:00
Sébastien Villemot 2600a878da
Testsuite: tolerance increase
estimation/fs2000_model_comparison.mod fails with MATLAB R2023b on the “pluto”
runner (which has AVX2).
2023-09-28 11:46:21 +02:00
Sébastien Villemot 01833b8a76
Testsuite: factorization between MATLAB and Octave 2023-09-26 15:59:38 +02:00
Johannes Pfeifer 8da98057b9
Have computation of decision rules and smoother only input and output required arguments instead of full oo_ and M_ 2023-09-25 17:17:34 +02:00
Johannes Pfeifer 5231fc04c1 Remove global variables from prior_posterior_statistics.m and PosteriorIRF.m 2023-09-25 12:08:41 +02:00
Sébastien Villemot 9a1f150e38
Merge branch 'default_mode_compute' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2160
2023-09-22 14:35:45 +02:00
Sébastien Villemot 6dd55726e6
Drop autoconf/automake build system 2023-09-20 15:33:44 +02:00
Sébastien Villemot 834b04bcb4
Testsuite: compatibility fix with MATLAB < R2017a
Double quotes were introduced in R2017a.
2023-09-20 14:00:55 +02:00
Sébastien Villemot e549bbba7a
Meson build system: testsuite now fully implemented
By the way, switch the CI to use the Meson testsuite, because some test files
have been modified and no longer work with the old build system.
2023-09-20 13:55:55 +02:00
Johannes Pfeifer 1f723ebd7e fs2000: remove asymptote in prior for rho, which caused corner solutions 2023-09-20 12:55:30 +02:00
Sébastien Villemot 6f5e346bf6
Merge branch 'preparations_irf_matching' of git.dynare.org:wmutschl/dynare
Ref. !2181
2023-09-20 10:17:14 +02:00
Johannes Pfeifer f6a8473144 estimation: support additional_optimizer_steps
Closes https://git.dynare.org/Dynare/dynare/-/issues/1573
2023-09-19 18:14:24 +02:00
Willi Mutschler 649f668dd1
cosmetical: don't use hh for figure/plot/table handles
We use it to denote the hessian and even store it in many mat files.
2023-09-19 13:26:33 +02:00
Sébastien Villemot 8a79899189
Meson build system: implement most of the testsuite
The tests that are individually listed in {M,O}_TRS_FILES of tests/Makefile.am
are still missing.
2023-09-16 14:25:38 +02:00
Sébastien Villemot eb16bb4373
Merge branch 'dynare-osr_analytic'
Ref. !2171
2023-09-13 11:19:20 +02:00
Johannes Pfeifer 885fda0e20
OSR: allow using analytic gradient 2023-09-13 11:19:13 +02:00
Sébastien Villemot a57f81b3aa
Testsuite: move load_octave_packages.m to utils/ subdirectory 2023-09-12 12:39:26 +02:00
Johannes Pfeifer baf8243fac generate_trace_plots.m: allow for plotting traces of multiple chains
Closes #1904
2023-09-08 22:04:25 +02:00
Sébastien Villemot d601ca4a2e Merge branch 'var_decomp' into 'master'
Add variance decomposition for pruned state space

Closes #1836

See merge request Dynare/dynare!2163
2023-09-08 12:55:19 +00:00
Johannes Pfeifer 4e58e22bdd Variance decomposition with pruning: add unit test 2023-09-08 07:02:43 +02:00
Willi Mutschler a0b443b9f8
Cosmetical changes to headers and message strings 2023-09-07 09:36:27 +02:00
Willi Mutschler c3327e000c
method_of_moments: refactor matched moments block transformations 2023-09-07 09:36:27 +02:00
Johannes Pfeifer d60a19ce49 Finish implementation of truncated normal distribution
Closes https://git.dynare.org/Dynare/dynare/-/issues/1593
2023-09-06 12:46:41 +02:00
Sébastien Villemot 8888711266
Testsuite: remove workaround for glibc bug #19329
The bug is fixed in glibc 2.34, which is included in Debian “bookworm” 12 and
Ubuntu 22.04 LTS.
2023-08-30 11:38:01 +02:00
Normann Rion 710589eb5b Adds pruning in k_order_simul
See issue #1643 about beyond-third-order pruning
2023-07-20 06:58:35 +01:00
Stéphane Adjemian (Argos) bd0493d135
Add routine for dynamic contributions in semi-structural models. 2023-07-06 22:26:09 +02:00
Johannes Pfeifer 9b2c0fb94d Add brooks_gelman_plotrows to manual and testsuite 2023-07-06 09:32:19 -04: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 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 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 3ef833ac5f
Testsuite: remove unused test 2023-06-12 14:14:53 +02:00
Sébastien Villemot c0294bb343
Testsuite: remove the simul/ folder, and move its files under {deterministic,stochastic}_simulations/
With the exception of ramst2.mod which was not run by the testsuite and has
thus been deleted.
2023-06-12 14:14:53 +02:00
Sébastien Villemot 4459f9a488
Testsuite: move homotopy/ folder under the steady_state/ folder
To clarify that those tests are about homotopy for steady state computation,
and not for perfect foresight simulation.
2023-06-12 14:14:53 +02:00
Sébastien Villemot 9c88bab247
Testsuite: remove obsolete Julia tests 2023-06-12 14:14:53 +02:00
Sébastien Villemot 37870e4a40
evaluate_steady_state: accept exogenous steady state as argument instead of whole oo_ structure
This is a move towards a more functional programming style.
2023-06-07 17:58:19 +02:00
Sébastien Villemot d41501bc6d
Misc updates to gitignore files
[skip ci]
2023-05-30 20:59:59 +02:00
Stéphane Adjemian (Ryûk) 51ffe77fb7
Add error flag (new output) to simul_backward_model routine. 2023-04-05 11:09:59 +02:00
Stéphane Adjemian (Ryûk) b8c70eba3b
Initialize parameter delta.
To prevent name mangling with potentially available function (matlab toolbox).
2023-04-05 11:09:59 +02:00
Sébastien Villemot d5ee4dcb75
Testsuite: add a test for deprecated simul command 2023-03-29 17:01:09 +02:00
Sébastien Villemot ec908386b6
Testsuite: no longer use deprecated ramsey_policy, except a in a dedicated test 2023-03-29 16:57:01 +02:00
Johannes Pfeifer 89fc53716e testsuite: add integration test for model_diagnostics with block 2023-03-17 12:20:30 -04:00
Johannes Pfeifer 64c69b4cd2 testsuite: do not delete non-existent jnl-files 2023-03-17 11:56:06 -04:00
Johannes Pfeifer 4837a4d444 testsuite: clean up main folder 2023-03-17 10:35:00 -04:00
Stéphane Adjemian (Ryûk) cc0d22cf4c
Fix integration tests.
print_equations() has been replaced by search().
2023-03-06 17:17:31 +01:00
Sébastien Villemot 65053667cf
New “homotopy_alt_starting_point” option to “perfect_foresight_solver” command 2023-02-07 14:49:00 -05:00
Sébastien Villemot d6370a6d28 Merge branch 'occbin_init_smo' into 'master'
occbin enhancements and bug fixes

See merge request Dynare/dynare!2123
2023-02-07 14:23:14 +00:00
Sébastien Villemot c3524d33d0
Testsuite: replace “simul” by “perfect_foresight_setup” + “perfect_foresight_solver” 2023-02-06 15:42:34 -05:00
Marco Ratto 22e6fb1814 make sure also ALL updated variables in period 1 are reconstructed with smoother_redux. test model changed accordingly. 2023-02-03 14:20:28 +01:00
Marco Ratto a4dc58db8e adjust smoother redux test, to consider that now ALL smoothed variables must be properly reconstructed also in period 1 2023-02-03 14:19:39 +01:00
Marco Ratto 21443e0988 add consistency check of results using smoother_redux with occbin 2023-02-03 14:18:43 +01:00
Sébastien Villemot cef1ce33ed
Preprocessor: remove some incorrect normalization rules for the case mfs=3
As a consequence, increase the tolerance for a test with mfs=3 (it now uses the
same tolerance as the corresponding test for mfs=2).
2023-01-25 18:39:47 +01:00
Sébastien Villemot 5aca770931
perfect_foresight_with_expectation_errors_{setup,solver}: fix bugs with several exogenous
Closes: #1883
2023-01-24 15:02:07 +01:00
Sébastien Villemot e30314e75d
Drop the “Sigma_e” statement 2023-01-16 16:52:42 +01:00
Sébastien Villemot 1b47c8a5e5
Drop the “periods” statement 2023-01-16 16:52:40 +01:00
Sébastien Villemot 8f1a4cb363
Drop block-decomposed first-order perturbation solution and kalman filter 2023-01-13 16:57:49 +01:00
Stéphane Adjemian (Ryûk) b7693c3273
Add routine for conditional likelihood (first order). 2023-01-06 14:57:45 +01:00
Sébastien Villemot f93a7f7192
Merge branch 'disp_aux_4' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2118
2023-01-04 10:59:21 +01:00
Johannes Pfeifer 45450651a2 model_info.m: fix display of block decomposition 2023-01-03 16:17:43 +01:00
Sébastien Villemot c1922c3ad0
Stop building and shipping the Dynare++ executable
Incidentally, no longer run Dynare++ unit tests, since they are intricated in
the Dynare++ build system. If we finally decide not to drop the Dynare++
codebase for our MEX files, then we should probably find a way to build and run
them again.

Ref. #1825
2023-01-03 14:51:07 +01:00
Stéphane Adjemian (Guts) 5b72a3041c
Use new unit tests interface. 2023-01-02 22:58:20 +01:00
Sébastien Villemot d574705b4a
Design and performance improvement to solve_algo={12,14}
Use the new time-recursive block decomposition computed by the preprocessor
for:
- the simulation of backward models with “simul_backward”
- the perfect foresight simulation of purely backward/forward/static models

Also note that in this case, the preprocessor now defaults to “mfs=3” (i.e. it
minimizes the set of feedback variables and tries to renormalize equations).

This replaces the previous algorithm based on Dulmage-Mendelsohn (dmperm), plus
an ad hoc identification of some equations that can be evaluated (those with a
LHS equal to a variable, the log of a variable, or the diff-log of a variable).

By the way, the block_trust_region MEX has been modified so that it accepts a
boolean argument to decide whether it performs a Dulmage-Mendelsohn
decomposition (if not, then it performs a simple trust region on the whole
nonlinear system).

This provides a significant performance improvement (of almost an order of
magnitude for solve_algo=14 on a 700 equations model).
2022-11-30 14:47:57 +01:00
Sébastien Villemot 4e08aadafa
Test suite: remove unused field in .trs files 2022-11-30 10:26:28 +01:00
Sébastien Villemot 595f3d1dce
Makefile indentation fixes 2022-11-29 17:40:20 +01:00
Sébastien Villemot 9976649c78
Test suite: fix logic of unit tests for nonlinear solvers 2022-11-29 17:34:16 +01:00
Johannes Pfeifer e530f7cbaa OccBin: add calib_smoother testfile 2022-11-23 16:48:08 +01:00
Johannes Pfeifer c90368d48c NKM.mod: clean up file 2022-11-23 15:17:51 +01:00
NormannR 93a2a097c6 Fix: scale the matrices in tests/riccatiupdate.m to control the size of errors 2022-11-22 15:07:56 +01:00
Sébastien Villemot dbdda7bf93
Merge branch 'Pinf' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2105
2022-11-22 11:25:14 +01:00
Sébastien Villemot d554b79772
Merge branch 'occ_test' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2103
2022-11-22 11:24:57 +01:00
Sébastien Villemot a35ac95a9d
Testsuite: fix logic of unit tests for cycle/logarithmic reduction + Riccati update 2022-11-21 16:22:07 +01:00
Johannes Pfeifer 801baacc8c fs2000_smoother_only_ns.mod: check for correctness of smoothed observables
Related to 178e892e
2022-11-18 22:04:58 +01:00
Johannes Pfeifer 67ba8127f4 dynrbc_common.inc: decrease number of simulation periods to prevent testsuite crashes
(cherry picked from commit 7c4c0fe4114775aae67b9362918a124ff0d09ce9)
2022-11-17 22:43:39 +01:00
NormannR a245fbb390 Implements a Fortran update of the states variance-covariance matrix for the Kalman filter 2022-11-14 16:24:46 +00:00
Marco Ratto 6737d9f81e truncate stochastic shocks to 90 periods, to avoid no convergence in period 91 2022-10-20 19:19:34 +02:00
Johannes Pfeifer cbbbdf4b3d make_y_.m: fix interaction with steady_state_model
closes https://git.dynare.org/Dynare/dynare/-/issues/1866
2022-10-13 16:33:58 +02:00
NormannR afb044c23e Fix cycle reduction:
(i) making the norms consistent between cycle_reduction and its test;
(ii) remove hard errors in cycle_reduction Fortran and Matlab routines
2022-10-11 12:11:30 +02:00
NormannR 855887b249 Implements a logarithmic reduction Fortran routine and the associated test 2022-10-11 12:11:06 +02:00
Normann Rion d17204cc84 Implements a cycle reduction Fortran routine and the associated test.
The Fortran routine replaces the former Matlab code in matlab/cycle_reduction.m
2022-10-03 14:38:12 +02:00
Normann Rion 1b12d9e44b Fixes local_state_space_iteration_3_test: sets a default value for the number of threads local_state_space_iteration_3 may use 2022-09-27 11:03:36 +02:00
Johannes Pfeifer 563035d070 AnScho/AnScho_MoM_common.inc: use csminwel to prevent fmincon problems under Octave 2022-09-20 12:55:30 +02:00
Johannes Pfeifer f91e4e239c varmodel.mod: use explicit seed to prevent pathological case 2022-09-16 15:13:16 +02:00
Johannes Pfeifer 7dd2dd5e24 solow_ces.mod: increase tolerance for Octave 2022-09-16 14:32:27 +02:00
Sébastien Villemot 50a08cff30
Testsuite: replace obsolete “egrep” by “grep -E” 2022-09-13 14:43:41 +02:00
Sébastien Villemot 9b787d8417 Merge branch 'mcp_steady' into 'master'
Provisions for solving steady state with MCP-tag

See merge request Dynare/dynare!1877
2022-09-13 09:26:08 +00:00
Johannes Pfeifer 3fbab4cbe0 Provisions for solving steady state with MCP-tag 2022-09-12 17:18:16 +02:00
Johannes Pfeifer a82d24fd41 rbcii_MCP.mod: increase tolerance for Octave 2022-09-08 17:41:54 +02:00
Sébastien Villemot 4bfd687be4
Merge branch 'local_state_space_iteration_3' of git.dynare.org:normann/dynare
Ref. !2045
2022-09-06 14:58:53 +02:00
Stéphane Adjemian (Ryûk) 1348c2ac4c
Fix typo. 2022-08-31 22:47:35 +02:00
Stéphane Adjemian (Ryûk) 2aa6565c18
Add test for lmmcp in extended path. 2022-08-31 13:37:00 +02:00
NormannR c6d5c48ff7 Local state-space iteration at order 3: multi-thread 3rd-order version with and without pruning 2022-08-30 14:06:19 +02:00
Stéphane Adjemian (Ryûk) 982ec2e66d
Fix copy/paste error. 2022-08-23 09:16:46 +02:00
Johannes Pfeifer 905e7c4344 load_results_after_load_mh: fix location of file 2022-08-10 12:55:00 +02:00
Johannes Pfeifer dc40862eff testsuite: add smoother_redux option 2022-07-26 22:15:39 +02:00
Johannes Pfeifer 622f831625 Inversion filter: disable unavailable smoother outputs
Related to https://git.dynare.org/Dynare/dynare/-/issues/1861
2022-07-26 14:43:31 +02:00
Willi Mutschler 30a6d35f5a
🐛 identification do plots and display results only for nonempty objects
fixes #1860
2022-07-26 10:26:13 +02:00
Sébastien Villemot 13709f6853
Add “fsolve_options” option to “steady” command
Closes: #1856
2022-07-22 14:35:19 +02:00
Sébastien Villemot 572fed3994
Merge branch 'dyn_forecast' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2051
2022-07-05 17:09:51 +02:00