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
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