Sébastien Villemot
0779816457
Merge branch 'resid' into 'master'
...
resid: Fix display of name tags with Ramsey equations
See merge request Dynare/dynare!2017
2022-04-05 06:16:39 +00:00
Johannes Pfeifer
a5fe22bd1c
resid: Fix display of name tags with Ramsey equations
2022-04-04 22:50:16 +02:00
Sébastien Villemot
896a35b07e
Merge branch 'chol_SE' into 'master'
...
chol_SE.m: fix logical condition and assure symmetry instead of erroring out
See merge request Dynare/dynare!2016
2022-04-04 13:51:33 +00:00
Johannes Pfeifer
c5557b5418
chol_SE.m: fix logical condition and assure symmetry instead of erroring out
2022-04-04 13:52:54 +02:00
Stéphane Adjemian
700a0e3a6d
Merge branch 'test_error' into 'master'
...
fs2000_uncorr_ME_missing.mod: use calibration instead of estimation
See merge request Dynare/dynare!2015
2022-04-03 05:55:31 +00: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
b4ce69db3a
Remove options_.slowc field
...
There was no user interface, and the feature that it provides has lost
relevance over time.
Note that algorithms for block and/or bytecode still internally use some
equivalent of this parameter, but its initial value will no longer be
modifiable (which could lead to bugs, see commit
e49e7e906f
).
2022-03-31 17:39:43 +02:00
Sébastien Villemot
82070e4048
Merge branch 'mom_xls2' into 'master'
...
MoM: fix reading of XLS-files by assigning sheet info to base workspace
Closes #1840
See merge request Dynare/dynare!2014
2022-03-31 06:49:59 +00:00
Sébastien Villemot
3b4ef0df49
Add new “log” option to “var” statement
...
Ref. #349
2022-03-30 18:01:22 +02:00
Johannes Pfeifer
176baa2215
MoM: fix reading of XLS-files by assigning sheet info to base workspace
...
Closes https://git.dynare.org/Dynare/dynare/-/issues/1840
2022-03-30 09:59:36 +02:00
Sébastien Villemot
7d3ab36743
Merge branch 'occbin_prefilter' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2013
2022-03-29 16:47:32 +02:00
Sébastien Villemot
6988f0a3d8
Preprocessor: refactor parsing of symbol lists
...
Incidentally, this change allows a sligthly more flexible syntax in
“svar_identification”, so document it.
2022-03-29 15:11:28 +02:00
Sébastien Villemot
d9feb04503
Manual: remove nonexisting syntax in “svar_identification”
2022-03-29 15:11:25 +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
Johannes Pfeifer
35c30dc037
Occbin: use data instead of rawdata and gracefully exit if prefilter option is specified
...
Closes #1842
2022-03-29 12:16:48 +02:00
Sébastien Villemot
c5a3658110
Block trust region: cosmetics
...
In particular, avoid using the deprecated dble() function. Rather use the
real() cast function, with the appropriate kind parameter.
2022-03-29 10:34:35 +02:00
Stéphane Adjemian (Ryûk)
53324aad69
Return initial guess if trust_region fails.
2022-03-26 09:21:25 +01: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)
b9bc1e7cb1
Revert update if residuals or jacobian have NaNs (block_trust_region).
2022-03-25 19:42:40 +01:00
Stéphane Adjemian (Ryûk)
4cccdd9074
Bug fix. Revert to previous Jacobian matrix if updated one is ill-behaved.
2022-03-25 19:42:40 +01:00
Stéphane Adjemian (Ryûk)
79cad99446
Harmonise exit codes and fix convergence test.
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
968eb28771
Merge branch 'fortran_not' into 'master'
...
perfect_foresight_solver_core.m: fix Fortran not
See merge request Dynare/dynare!2011
2022-03-25 13:34:08 +00:00
Johannes Pfeifer
1ed765b8c4
perfect_foresight_solver_core.m: fix Fortran not
2022-03-25 14:23:11 +01:00
Sébastien Villemot
facab0f81b
Merge branch 'mom' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2008
2022-03-25 12:51:40 +01:00
Sébastien Villemot
e49e7e906f
Forbid changing the value of “slowc” if “block” or “bytecode” is used
...
The code is buggy and leads to wrong results, so forbid this combination.
2022-03-25 12:36:36 +01:00
Sébastien Villemot
014a3c3f2e
Merge branch 'sensitivity' of git.dynare.org:JohannesPfeifer/dynare
...
Ref. !2009
2022-03-24 17:53:34 +01:00
Sébastien Villemot
9a4e08fe15
CI: bump to MATLAB R2022a
2022-03-24 17:44:51 +01:00
Sébastien Villemot
b31fe76dfd
Provisions for MATLAB R2022a
2022-03-24 17:43:40 +01:00
Johannes Pfeifer
f3bf8fb814
MOM: add missing debug option
2022-03-24 15:28:03 +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
Johannes Pfeifer
a1ebd20a88
dynare_sensitivity.m: provide warning if order is reset
2022-03-24 13:02:25 +01:00
Sébastien Villemot
4da9d1e718
Block (without bytecode): avoid silent failures in some corner cases
...
Either ensure that oo_.determinstic_simulation.status is set, or really error out.
2022-03-23 17:33:37 +01:00
Sébastien Villemot
dd1ec10ec8
Block (without bytecode): use dynatol.f as convergence criterion for perfect foresight
...
Was incorrectly using solve_tolf.
2022-03-23 17:25:32 +01:00
Sébastien Villemot
e5f4d96c71
Fix typo
2022-03-23 16:58:59 +01:00
Sébastien Villemot
bef8d80ba8
More conversions to logical values
2022-03-23 16:52:40 +01:00
Sébastien Villemot
79df767314
Bump JSONLab to version 2.0
...
We were previously using version 1.8.
2022-03-23 15:01:55 +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
b43f9af7d1
Windows package: minor build system simplification
...
The “all” rule being equivalent to the “build” rule, juste delete the former
and move the latter upwards.
2022-03-22 12:11:44 +01:00
Sébastien Villemot
8c16d1745e
block_trust_region MEX: first part of handling complex values returned by solved function
...
If solved function returns complex values (with nonzero imaginary part), turn
them into NaNs. This mimics the behaviour of the use_dll case.
Next step will be to adapt the trust region algorithm to diminish radius when
there are NaNs.
Incidentally, bump the required GCC version to 9, since we use the %re and %im
components of complex values in Fortran.
2022-03-21 18:55:42 +01:00
Sébastien Villemot
d5472d2338
Tighten input sanity checks of various MEX files
...
Note that the unitary test in lyapunov_solver.m that checks sparse matrix input
had to be removed. Previously, this test was passing by chance (because the
sparse test matrices had actually no zero element, hence the internal double
float storage was the same as in the dense case). Now it consistently fails
with the additional checks in disclyap_fast MEX.
2022-03-18 22:49:46 +01:00
Sébastien Villemot
4f6d8a198a
k_order_perturbation MEX: convert complex elements of residuals or derivatives matrices to NaNs
2022-03-18 16:45:33 +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
07978affa5
Block decomposition: simplify MATLAB implementation of stack_solve_algo=3 (BiCGStab)
...
This commit makes it closer to the implementation in bytecode. In practice,
this change fixes convergence problems on some models.
2022-03-16 15:00:09 +01:00
Sébastien Villemot
db5e04107f
solve_one_boundary.m: fix crash in verbose mode
2022-03-16 15:00:09 +01:00
Sébastien Villemot
2d73ae2971
Bytecode: fix typo
2022-03-16 15:00:09 +01:00
Sébastien Villemot
8a6ea14402
Merge branch 'doc_naming' into 'master'
...
Manual: clarify potential naming issues in steady state files
See merge request Dynare/dynare!2007
2022-03-15 16:43:22 +00:00