Commit Graph

15388 Commits (0923187938a5b93069043d7c2b5d3592d69abbd9)

Author SHA1 Message Date
Sébastien Villemot 0923187938
🐛 Perturbation solution: gracefully fail if order=2 is requested with bytecode 2023-04-13 17:35:20 +02:00
Sébastien Villemot 91fa8d079e
calibrateresiduals: use the sparse representation of the dynamic model 2023-04-13 17:24:47 +02:00
Sébastien Villemot 7e1c25d775
backward_model_inversion: use the sparse representation of the dynamic file 2023-04-13 15:51:09 +02:00
Sébastien Villemot ed75e4c176
dynamic_backward_model_for_inversion: turn into a local function of backward_model_inversion 2023-04-13 15:47:43 +02:00
Sébastien Villemot 66b648157f
Purely backward models simulation: use the sparse representation of the dynamic file 2023-04-13 15:47:43 +02:00
Sébastien Villemot 34e82f9697
sim1_purely_forward: use the sparse representation of the dynamic file 2023-04-13 15:47:43 +02:00
Sébastien Villemot 170a4dce0e
dynamic_forward_model_for_simulation: turn into a local function of sim1_purely_forward 2023-04-13 15:47:43 +02:00
Sébastien Villemot 5f42e84b0b
sim1_purely_static: use the sparse representation of the dynamic file 2023-04-13 15:47:43 +02:00
Sébastien Villemot 4a793f89ff
dynamic_static_model_for_simulation: turn into a local function of sim1_purely_static 2023-04-13 15:47:43 +02:00
Sébastien Villemot 942c6f9a20
🐛 static_model_inversion: fix handling of STEADY_STATE() operator
Of course, this operator does not make much sense in the context of a static
model, but it should still work.
2023-04-13 15:47:43 +02:00
Sébastien Villemot 9deb1e6049
static_model_inversion: use the sparse representation of the dynamic file 2023-04-13 15:47:41 +02:00
Sébastien Villemot bc68915dfa
static_model_for_inversion: turn into a local function of static_model_inversion 2023-04-13 11:55:27 +02:00
Stéphane Adjemian (Ryûk) 4f3a0df884
Do not overwrite solve_algo option. 2023-04-12 09:53:46 +02:00
Sébastien Villemot 5c3e291483
Preprocessor: use_dll: turn getPowerDeriv() and sign() into inline functions 2023-04-11 17:31:18 +02:00
Sébastien Villemot 90a408e3c3
Build system: enable the dangling else warning (-Wdangling-else)
Adapt the code accordingly.
2023-04-11 17:31:18 +02:00
Sébastien Villemot c56e7cef51
Build system: remove tests that have become useless since the removal of Dynare++ executable 2023-04-11 17:31:16 +02:00
Sébastien Villemot 6938080951
Preprocessor update
🐛 sign(0) was returning 1 instead of 0 with use_dll
– Performance improvements on very large models
2023-04-07 18:08:56 +02:00
Sébastien Villemot 9f29e2f292
Bytecode: add missing floating point exception handling for sqrt and several trigonometric functions 2023-04-07 17:32:36 +02:00
Sébastien Villemot 2740bdee58
Bytecode: remove default clause in switch/case clauses for opcodes
This ensures that we will get a compiler warning reminding us to support
opcodes that may be added in the future.
2023-04-07 16:46:35 +02:00
Sébastien Villemot 1622c74a53
Bytecode: add missing support for cbrt(), abs() and sign() operators 2023-04-07 16:46:35 +02:00
Sébastien Villemot f27c3abd2f
Bytecode: refactor floating point exception handling 2023-04-07 16:46:32 +02:00
Sébastien Villemot fbaa051489
Bytecode: minor simplification 2023-04-07 10:26:57 +02:00
Sébastien Villemot 421eb1482c
Octave compatibility: qz() will be MATLAB-compatible in version 9
[skip ci]
2023-04-07 10:26:54 +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 c4bc6316d0
Make matlab/missing/mex/mjdgges/mjdgges.m Octave-compatible
[skip ci]
2023-04-04 18:40:37 +02:00
Sébastien Villemot 8128fd4cc3
Bytecode: minor improvements of interfacing with UMFPACK 2023-04-03 18:34:55 +02:00
Sébastien Villemot c4ad1d58e8
Bytecode: minor simplification to debug mode 2023-04-03 18:34:45 +02:00
Sébastien Villemot 19afc087cc
Manual: give more details for stack_solve_algo=0
Explain that the solver is a direct sparse LU, to differentiate it from
stack_solve_algo={2,3,4} which use the same Newton algorithm but with different
solvers.
2023-04-03 18:31:04 +02:00
Sébastien Villemot d3afa980aa
MEX: better type definition for long SuiteSparse integers under Windows 2023-04-03 18:31:04 +02:00
Sébastien Villemot d078810625
MEX: remove obsolete MSVC check 2023-04-03 14:59:36 +02:00
Sébastien Villemot a45b00fa69
MEX: better type definition for BLAS/LAPACK integers in C and C++
int64_t on 64-bit machines better expresses the intent than ptrdiff_t. This is
also more consistent with what is done in Fortran.
2023-04-03 14:58:07 +02:00
Sébastien Villemot f0888468e6
Bytecode: optimize memory consumption during iterations
mxArray objects were not properly destroyed within the iteration loop, leading
to higher memory usage. Note that there was no memory leak, because these
objects would be destroyed later by MATLAB when exiting the MEX.
2023-04-03 14:14:33 +02:00
Sébastien Villemot 5a1abb1b87
Bytecode: cleanup memory management for UMPACK memory buffers
There was probably no bug but it is safer this way.
2023-03-31 18:43:16 +02:00
Sébastien Villemot 8dae5393f5
Bytecode: remove unused function 2023-03-31 17:37:31 +02:00
Sébastien Villemot 403db2cc64
Bytecode MEX: under Octave, use system-wide umfpack.h instead of our own version 2023-03-31 16:18:27 +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
Sébastien Villemot cdb786017b
Preprocessor update
– ramsey_policy is now fully implemented at the preprocessor level
– 🐛 ramsey_policy: lift restriction that order must be ⩽ 2
– 🐛 Extend incompatibility with deterministic exogenous to ramsey_model command
2023-03-29 16:26:02 +02:00
Sébastien Villemot 534515dc66
dyn_ramsey_static.m: simplifications + improve comments 2023-03-29 14:33:01 +02:00
Sébastien Villemot ffe6eb4d40
Preprocessor: overhaul of M_ fields counting Ramsey/discretionary orig endos/eqs
– new fields: M_.ramsey_orig_{eq,endo}_nbr
– drop M_.ramsey_eq_nbr and M_.orig_eq_nbr
– new field: M_.discretionary_orig_eq_nbr
2023-03-29 14:33:01 +02:00
Sébastien Villemot 674ebce84b
🐛 Ramsey steady state computation could fail if expectation or diff operator is present
If auxiliary variables were created *before* the Lagrange multipliers (e.g. aux
vars related to the expectation or diff operators), then the vector of
residuals of the reduced Ramsey steady state problem (with respect to original
variables, as computed by the dyn_ramsey_static_1 subfunction) was incorrect.
2023-03-29 14:31:01 +02:00
Sébastien Villemot 4291b4f07e
The preprocessor now sets options_.{ramsey,discretionary}_policy in all cases 2023-03-28 18:30:08 +02:00
Sébastien Villemot 69d0aa670b
Preprocessor update
🐛 Incorrect stochastic transformation with endo lead ⩾ 2 or exo lead ⩾ 1 in
  external functions
– New solution for solving the Ramsey steady state with Lagrange multipliers
  with lead or lag ⩾ 2. Now generates a dedicated file for derivatives of static
  model w.r.t. multipliers using chain rule derivation (#633, #1119, #1133)
– 🐛 Incorrect cost table used when computing temporary terms in static model
  with “use_dll”
– 🐛 Crash when writing the (static) set_auxiliary_variables file in the
  presence of external functions
2023-03-28 14:49:28 +02:00
Sébastien Villemot 9fa64ee0d4
ramsey_policy and estimation: remove incorrect check about number of instruments
These should only be warnings, and they are already implemented in
model_diagnostics (see 39ae080997).
2023-03-24 12:31:41 +01:00
Sébastien Villemot abd24ed609
NEWS.md: release notes for 5.4
[skip ci]
2023-03-22 13:52:26 +01:00
Sébastien Villemot 369782b603
Preprocessor update
– use_dll: under Windows, bugfix related to excessive size of PATH variable
– minor macroprocessor refactoring
2023-03-20 18:28:48 +01:00
Sébastien Villemot 66b1724678
Windows package: bump HDF5 dependency
HDF5 itself now drags a lot of new dependencies (curl and its own deps,
openssl).
2023-03-20 16:16:45 +01:00
Sébastien Villemot 02510e37d3 Merge branch 'testsuite' into 'master'
Improve structure of testsuite

Closes #1715

See merge request Dynare/dynare!2128
2023-03-20 11:45:32 +00:00
Sébastien Villemot 43190b001f
Fix typo in commit 647ff5cd20 2023-03-17 18:19:03 +01:00