Commit Graph

1906 Commits (master)

Author SHA1 Message Date
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
Sébastien Villemot b3cff2d34d
Bytecode: remove incomplete/buggy support for exogenous deterministic 2022-07-05 13:02:17 +02:00
Johannes Pfeifer 35a25b8fb5 dyn_forecast.m: gracefully exit if decision rules and remove unused output argument 2022-07-04 17:33:20 +02:00
Johannes Pfeifer 76885870ef testsuite: provide analytical steady state to unit root models instead of relying on initial values 2022-06-27 15:19:30 +02:00
Sébastien Villemot 32cf926ef8
Macro-variables defined without a value are now set to “true”
They were previously set to 1.

Ref. preprocessor#43
2022-06-16 16:52:50 +02:00
Sébastien Villemot 06f665e231
Perfect foresight: LBJ now available under stack_solve_algo=1 (with/without block/bytecode)
Previously, LBJ was available:

– under stack_solve_algo=6 when neither block nor bytecode were present
– under stack_solve_algo=1 with either block or bytecode (but the documentation
  was not making it clear that it was LBJ)

This commit merges the two values for the option, and makes them
interchangeable. LBJ should now be invoked with stack_solve_algo=1 (but
stack_solve_algo=6 is kept for compatibility, and is a synonymous).
2022-06-15 15:06:33 +02:00
Stéphane Adjemian (Ryûk) ac2b3f2bdc
Add integration tests for model inversion. 2022-05-20 08:31:03 +02:00
Stéphane Adjemian (Ryûk) cd76bdff9e
Fix and update unit tests for local_state_space_iteration_2.
Add mat file with git lfs.
2022-05-13 12:13:46 +02:00
Sébastien Villemot 63a116fb28
New += and *= syntaxes in “endval(learnt_in=…)” blocks 2022-05-03 17:46:59 +02:00
Sébastien Villemot 252a592f1a
Allow “learnt_in=1” for “shocks” and “endval” 2022-04-29 15:55:57 +02:00
Stéphane Adjemian (Charybdis) 8b197bf71c
Remove duplicate assignments for parameters. 2022-04-28 12:58:22 +02:00
Stéphane Adjemian (Charybdis) 4386116c91
Fixed unit tests. 2022-04-28 12:58:22 +02:00
Sébastien Villemot a600336c92
New “add” and “multiply” keywords in “shocks(learnt_in=…)” block 2022-04-26 15:22:15 +02:00
Sébastien Villemot 8488674ce4
New shocks(learnt_in=…) and endval(learnt_in=…) blocks
For use with perfect_foresight_with_expectation_errors_setup.
2022-04-21 17:10:52 +02:00
Sébastien Villemot 96346b77e5
Octave 7 compatibility fix: in testsuite, replace --no-window-system option by xvfb-run
This is a workaround for Octave bug 62101, which affects
tests/shock_decomposition/ls2003_plot.mod, but is unlikely to be fixed.
2022-04-15 14:33:02 +02:00
Sébastien Villemot 418c290ead
Octave 7 compatibility fix: rmdir() now errors out if the directory is nonexistent 2022-04-15 14:33:02 +02:00
Sébastien Villemot 5d3b4801a3
Octave 7 compatibility fix: increase test tolerance 2022-04-15 14:33:02 +02:00
Sébastien Villemot 19246d68da
Octave 7 now has rng 2022-04-15 14:33:02 +02:00
Sébastien Villemot 10af04c6d8
Use Unicode copyright symbol (in UTF-8 encoding) in all source files
It is now supported by the MATLAB editor (as of R2022a).

The old ASCII notation is left in some files that we copy as-is from other
sources (e.g. in the contrib/ and m4/ subdirectories).

The particles submodule is not updated at this point, because it is in an
inconsistent state.

[skip ci]
2022-04-13 14:54:25 +02:00
Sébastien Villemot 9c8033d99e
Merge branch 'obs_test' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2019
2022-04-12 15:54:10 +02:00
Sébastien Villemot b70b864829
perfect_foresight_with_expectation_errors_setup: move terminal condition to last line of CSV file 2022-04-12 15:51:04 +02:00
Sébastien Villemot a8a9051b31
New option “constant_simulation_length” to “perfect_foresight_with_simulation_errors_solver” command 2022-04-12 15:45:50 +02:00
Johannes Pfeifer e6944521dd testsuite: use file-specific names to prevent overwriting while reading 2022-04-11 18:47:04 +02:00
Stéphane Adjemian (Charybdis) f1aff2b370
Remove calls to dbstack in dynare_solve.
Adding three input parameters for maxit, tolf and tolx.

Closes #1841.
2022-04-10 20:29:57 +02:00
Johannes Pfeifer b103cc9259 fs2000_uncorr_ME_missing.mod: use calibration instead of estimation
mode on some machines triggered numerical instabilities in the initialization of Pstar due to near singularity
2022-04-02 19:41:00 +02:00
Sébastien Villemot 3b4ef0df49
Add new “log” option to “var” statement
Ref. #349
2022-03-30 18:01:22 +02:00
Sébastien Villemot d7b5973cce
Testsuite: increase tolerance in block_bytecode/lola_stochastic_block.mod
Apparently needed with MATLAB R2022a on AVX-512 processors.
2022-03-29 14:10:41 +02:00
Stéphane Adjemian (Ryûk) cdd85f32a7
Update unit tests for trust region routines. 2022-03-25 19:42:40 +01:00
Stéphane Adjemian (Ryûk) f2bf98ee76
Return the value of info as a third argument (block_trust_region). 2022-03-25 19:42:40 +01:00
Stéphane Adjemian (Ryûk) 24d5ba0290
Change nonlinear solvers in some integration tests.
Trust region with block decomposition (as provided by dmperm) fails to provide
correct simulations (most likely due to the interpretation of tolf which
depends on the number and size of blocks).
2022-03-25 19:42:40 +01:00
Stéphane Adjemian (Ryûk) aa8439d4cc
New implementation of the trust region algorithm.
Main difference is the presence of traps for NaN/Inf/Complex numbers in
residuals or the Jacobian matrix. Also added new unit tests.
2022-03-25 19:42:40 +01:00
Stéphane Adjemian (Ryûk) 1b2b3db380
Fix definition of the Rosenbrock function. 2022-03-25 19:42:40 +01:00
Sébastien Villemot 7f58ec5963
Testsuite: increase tolerance in block_bytecode/lola_solve_one_boundary_mfs2.mod
This is made necessary by commit dd1ec10ec8.
2022-03-24 14:18:18 +01:00
Sébastien Villemot 35bdac6be6
Testsuite: in block_bytecode/ireland.mod, remove unneeded option setting
The default of options_.slowc is already 1.
2022-03-22 12:53:04 +01:00
Sébastien Villemot d8c3467a08
Testsuite: improve tests for block/bytecode options
Improve the model that is used to test all combinations of algorithms with
block and bytecode options, by ensuring that it includes the 8 possible types of blocks:
– Solve {forward, backward, two boundaries} {simple, complete}
– Evaluate {forward, backward}

All the “Solve” blocks are also included in both linear and nonlinear forms
(since the codepaths are typically different depending on the linearity of
the block).

Note that there is no such thing as a nonlinear “Evaluate” block, since the
endogenous variables of the block always enter linearly (on the LHS).

Also:
- use perfect_foresight_{setup,solver} instead of simul (and disable automatic homotopy)
- add a shock on e_R (though this is not strictly needed since the
  corresponding block already inherits the shock from another ancestor block)
- remove the block for observables, there is already another block of type
  “Evaluate forward”
2022-03-16 15:00:09 +01:00
Sébastien Villemot 3d7299c1e4
New option “non_zero” to the “resid” command
When this option is given, the “resid” command only displays non-zero residuals
2022-03-01 14:26:16 +01:00
Sébastien Villemot e49cada341
Testsuite: run_block_byte_tests_{matlab,octave}.m were not actually checking the results 2022-03-01 11:29:52 +01:00
Sébastien Villemot 63bcd2558e
Testsuite: when running Octave, use --no-window-system option rather than forcing gnuplot toolkit
In practice --no-window-system currently implies the gnuplot toolkit with dumb
terminal, but it is cleaner this way.
2022-02-23 12:13:27 +01:00
Stéphane Adjemian (Charybdis) e7d11dd7b1
Remove aux variables from target definition (PAC). 2022-02-18 09:13:17 +01:00
Sébastien Villemot a376d8c9fe
Fix steady state computation with bytecode+block and solve_algo ⩽ 4 or ⩾ 9
– Temporary terms were not correctly passed between blocks
– solve_algo ⩾ 9 was incorrectly passed through bytecode own’s solver instead
  of through dynare_solve
2022-02-17 17:28:37 +01:00
Sébastien Villemot fa7b331cf4
Fix crash in simulation of “Solve forward/backward complete” blocks with stack_solve_algo=4 (without bytecode) 2022-02-11 18:11:42 +01:00
Sébastien Villemot 39f47dc957
local_state_space_iteration_k MEX now uses the Fortran code (instead of the C++ code)
Closes: #1802
2022-02-04 11:49:46 +01:00
NormannR 5f828e241f Parallelizes local_state_space_iteration_fortran 2022-01-31 18:44:48 +01:00
Stéphane Adjemian (Ryûk) f5f47cd834
Add new option last_simulation_period to initval_file command.
Also adjust the periods in Simulated_time_series (output of the perfect
foresight solver in the workspace). Note that this dseries object contains the
observations for the initial condition (M_.orig_maximum_lag observations) and
for the terminal condition (M_.orig_maximum_lead observations).

See #1838.

Fix testsuite (wrong file name)
2022-01-21 17:39:47 +01:00
Sébastien Villemot 4fdb15b437
Testsuite: fix test under Octave
Enforce the positivity of standard errors in the maximum likelihood
estimations. Otherwise some stderr are estimated negative, and the Bayesian
estimation fail because the initial value is out of the bounds of the prior
shape.
2022-01-21 14:50:44 +01:00
Stéphane Adjemian (Ryûk) a08de9e661
Partial fix for #1837. 2022-01-19 09:20:22 +01:00
Sébastien Villemot 18060ffe4a
Testsuite: disable an estimation with mode_compute=5 that randomly fails under Octave
Similar to 3af51e3153.
2022-01-18 16:18:12 +01:00
Stéphane Adjemian (Charybdis) 1fd4904ccc
Fix evaluate routine if PAC's growth option is constant. 2022-01-17 16:56:58 +01:00
Stéphane Adjemian (Charybdis) 7f075ca109
Remove files that should not have been committed in e1d0ce2.
[skip ci]
2022-01-16 16:12:37 +01:00
Stéphane Adjemian (Charybdis) e1d0ce28d2
Remove aux variables from evaluate routine.
Auxiliary variables were still present in the growth neutrality correction. This
commit remove the auxiliaries, so that the user doesn't need to update the
database with the auxiliary variable definitions.

Also adds integration test.

TODO Check that it works with log unary op
TODO Complete tests by checking that the written evaluate routine works
2022-01-14 20:45:46 +01:00
Sébastien Villemot 84862b8a39
Merge branch 'borrcon' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1983
2021-12-20 12:08:57 +01:00
Stéphane Adjemian (Ryûk) d841fc7cc2
Do not run integration tests for NLS with Octave.
Also moved some integration tests.
2021-12-19 17:20:15 +01:00
Johannes Pfeifer 67cab849af borrcon.mod: fix LaTeX symbol and header 2021-12-19 11:37:13 +01:00
Stéphane Adjemian (Ryûk) c43777f610
Show how to hide simulated annealing algorithm iterations. 2021-12-17 20:55:46 +01:00
Stéphane Adjemian (Ryûk) 4512000f0f
Display estimation results PAC/NLS. 2021-12-17 20:53:39 +01:00
Stéphane Adjemian (Ryûk) 24c817afa7
Add integration tests for NLS estimation. 2021-12-17 18:02:24 +01:00
Stéphane Adjemian (Ryûk) b297353b06
PAC decomposition between stationary and non-stationary components.
The taget in PAC equation can be decomposed into an arbitrary number of components (variables
in the VAR auxiliary model).

TODO Iterative OLS estimation (which is not the preferred estimation routine).
TODO Decomposition in the routine evaluating the forecasts for each component.
2021-12-17 12:17:13 +01:00
Sébastien Villemot 4db2899868
estimated_params: fixes for new semantics
The change implemented in 21a8a5794a broke the
testsuite and was incomplete.

– new option “overwrite” to provide the old behaviour (used to fix the testsuite);
– when concatenating several “estimated_params” block, the preprocessor now
  checks that paramateres are not declared twice across blocks.
2021-12-16 15:38:09 +01:00
Sébastien Villemot 21a8a5794a
Various new model editing features
– multiple “model” and “estimated_params” block are supported
– new “model_options” statement to set model options in a global fashion
– new “model_remove” command to remove equations
– new “model_replace” block to replace equations
– new “var_remove” command to remove variables (or parameters)
– new “estimated_params_remove” block to remove estimated parameters
2021-12-15 17:33:01 +01:00
Sébastien Villemot f8fc786459
Merge branch 'het_shocks' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1980
2021-12-15 10:27:06 +01:00
Willi Mutschler 488ab7a979
Update testsuite Kalman Smoother name of data file
gen_data.mod creates a datafile called "data.mat"
test_compute_Pinf_Pstar_data.mod creates a datafile called "Data.mat"
There could be a race condition on systems that don't distinguish between upper and lower cases.
2021-12-15 10:26:38 +01:00
Johannes Pfeifer 1bfb9ffbb9 heteroskedastic shocks: take into account first_obs 2021-12-14 11:21:16 +01:00
Sébastien Villemot 1638374b46
Merge branch 'evaluate_planner' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1970
2021-12-07 18:06:13 +01:00
Sébastien Villemot 8eeb92e56b
Add hyberbolic primitives (sinh, cosh, tanh, asinh, acosh, atanh) 2021-12-07 18:04:56 +01:00
Sébastien Villemot 5f675eee18
Add erfc() primitive 2021-12-07 17:00:59 +01:00
Sébastien Villemot d69c14398d
Factorize test for normpdf(), normcdf(), erf() and trigonometric functions
Incidentally:
- add trigonometric tests for bytecode
- add back a test for pure M-files
2021-12-07 17:00:57 +01:00
Johannes Pfeifer d039bcbfec evaluate_planner_objective.m: initialize newly introduced options and fix naming 2021-12-07 13:56:01 +01:00
Johannes Pfeifer c07508a917
occbin_write_regimes: distinguish between smoother and simulations
Closes: #1828
2021-12-07 12:41:34 +01:00
Normann Rion cf829fb28e
A few fixes for k-order welfare assesment in `evaluate_planner_objective`
As suggested in !1962
2021-12-07 12:19:30 +01:00
Sébastien Villemot 06fd42c19b
Drop the dynare_simul_ MEX in favour of the new Fortran k_order_simul MEX 2021-11-26 17:37:53 +01:00
Sébastien Villemot a3956996f7
Merge branch 'local_state_space_it' of git.dynare.org:normann/dynare
Ref. !1962
2021-11-26 17:35:30 +01:00
NormannR 6b566d37c7 Add k-order conditional and unconditional welfare evaluation in evaluate_planner_objective 2021-11-24 17:30:02 +01:00
NormannR f889a25e86 Amend the k_order_welfare routine for it to return the adequate output variables 2021-11-24 17:16:03 +01:00
Stéphane Adjemian (Ryûk) f4a7a5430c
Re-implement PAC equations.
This commit only introduce new elements in the Dynare language (adding the
 possibility to decompose the target into stationary and non stationary
 components) and insure that all the former codes (ie without decomposition of
 the target) are still working as expected.
2021-11-24 16:40:35 +01:00
Johannes Pfeifer 485c815f50 burnside_k_order.mod: fix timing logic
Did not correctly deal with loading of mex-file
2021-10-22 17:59:07 +02:00
Sébastien Villemot 2ab919ebf1
Testsuite: use default number of particles when comparing performance of the various state space iteration MEX 2021-10-21 16:34:22 +02:00
Stéphane Adjemian (Ryûk) f778e3c1ce
Fix growth neutrality correction in PAC equations.
- Force long run levels of the exogenous variables to be zero or g (the BGP growth rate of the LHS endogenous variable).
- Fix the correction of the correction for the share λ (aak γ).
- Provisions for the case where the long run level of the exogenous variable is
different from 0 or g (see tmp1 and ll which should be added to the growth
neutrality correction as a constant).

(cherry picked from commit a4423d734e1df1d4ee09c7225d7fd610e0d94cd1)
2021-10-21 10:19:23 +02:00
Sébastien Villemot e66a1a63f8
local_state_space_iteration_2 MEX: enable parallelization by default 2021-10-20 15:33:04 +02:00
Sébastien Villemot fbba0bf2fc
Testsuite: fix display of relative timings of local_state_space_iteration_{k,fortran} 2021-10-20 15:32:26 +02:00
Johannes Pfeifer 45772571c3 testsuite: expand Ramsey tests to check for consistency of utility and welfare
Also increase variance to make tests more challenging
2021-10-15 12:46:26 +02:00
Sébastien Villemot 3af51e3153
Testsuite: disable an estimation with mode_compute=5 that randomly fails under Octave 2021-10-13 17:01:02 +02:00
Sébastien Villemot f9a550651d Merge branch 'k_order_fix' into 'master'
k_order_simulation bug: fixes simulations and adds/corrects integration test

Closes #1819

See merge request Dynare/dynare!1940
2021-10-12 15:34:29 +00:00
Johannes Pfeifer d5141ced42 simult_.m: remove redundant first simulation period for k_order_simulations
Closes https://git.dynare.org/Dynare/dynare/-/issues/1819
2021-10-12 15:20:26 +02:00
Johannes Pfeifer cd43c8669b burnside_k_order.mod: fix logic of test and compare Fortran and C++ routines
Also decreases approximation order for speedup
2021-10-12 15:20:26 +02:00
Johannes Pfeifer 733ffdf3ab Add unit test for k-order simulations 2021-10-12 15:20:11 +02:00
Johannes Pfeifer fa04600264 Testsuite: add calls to resid for optimal policy 2021-10-11 18:06:37 +02:00
Sébastien Villemot 4a041b3b2c
tests/measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME.mod: set mh_blocks=1
This fixes the test under Octave on haumea.
2021-09-29 15:02:13 +02:00
Sébastien Villemot 191cb05f87
tests/block_bytecode/lola_stochastic_block.mod: increase test tolerance on ghx
Needed for Octave on haumea.
2021-09-28 12:45:52 +02:00
Sébastien Villemot 9fd0806643
Testsuite: do not distribute optimal_policy/Ramsey/oo_ramsey_policy_initval.mat
It is a generated file.

By the way, ensure that the generated file has the .mat extension under Octave.
2021-09-27 16:43:50 +02:00
Normann Rion 6475c52b3d Implements k-order simulation routine in Fortran (Ref: #1802)
`k_order_simul` may replace `dynare_simul_` in the long run
2021-09-24 09:11:15 +02:00