Commit Graph

1531 Commits (43fc59a2bcee34f9836c24ec7afea2d67be88d04)

Author SHA1 Message Date
Sébastien Villemot 43fc59a2bc
The “mfs” option of the “model” block no longer affects the static model
This is a restoration of the behaviour that was present in 5.x.
2023-10-16 11:49:30 -04:00
Sébastien Villemot db3a6bc301
ModelTree::equationTypeDetermination(): remove “mfs” as an input argument
It is already available as a class member.
2023-10-13 17:02:36 -04:00
Sébastien Villemot 613a8578ee
InitvalFileStatement: call histval_initvalf.m directly instead of initvalf.m wrapper 2023-10-11 16:52:04 -04:00
Johannes Pfeifer 3c20b9862b
Add interface for nomodelsummary option 2023-10-11 09:31:22 -04:00
Johannes Pfeifer 16b063f666
Remove options_ as third input to set_state_space 2023-10-11 09:22:35 -04:00
Sébastien Villemot 084372a314
Add new option “from_initval_to_endval” to “homotopy_setup” block 2023-10-10 10:20:21 -04:00
Sébastien Villemot a4bc539364
Rename HomotopyStatement class to HomotopySetupStatement
For consistency with other such classes, since it represents the homotopy_setup
block.
2023-10-06 16:51:39 -04:00
Sébastien Villemot 3d225c8df6 Merge branch 'irf_matching_preprocessor' into 'master'
Options for Bayesian IRF Matching in method_of_moments command

See merge request Dynare/preprocessor!85
2023-09-29 08:56:01 +00:00
Sébastien Villemot 86b24dc9bf
Gracefully handle division by zero when attempting equation normalization
Instead of crashing the preprocessor (because DataTree::DivisionByZeroException
is not caught), just abort the normalization and mark it as failed.

Ref. #92
2023-09-28 15:32:38 +02:00
Willi Mutschler 960c1563a0
Reorder IRF matching options alphabetically 2023-09-28 12:40:46 +02:00
Willi Mutschler 37ac40352a
Add options and checks for Bayesian IRF matching 2023-09-28 12:40:03 +02:00
Willi Mutschler a2a6342865
Save options_mom_ to results.mat 2023-09-28 12:38:08 +02:00
Willi Mutschler d714b2cb15
Remove unused option zero_moments_tolerance 2023-09-28 12:38:08 +02:00
Sébastien Villemot dec60b25e6
Do not write bytecode for discretionary optimal policy models
Those models do not have as many variables as equations, and this case is not
supported by bytecode.

The present commit is an improvement over commit
a8ea57dd63, which had already removed bytecode
for the planner objective model.
2023-09-27 14:49:06 +02:00
Sébastien Villemot ef57a28b5f
Use same default variable cleaning rule under Octave as under MATLAB ⩾ 8.6
“clearvars” has been implemented in Octave since version 5.
2023-09-27 12:24:45 +02:00
Sébastien Villemot a8ea57dd63
Fix illegal memory access when doing Ramsey
The preprocessor would try to write bytecode for the planner objective. But
bytecode only works when there are as many endogenous as equations, which is
not the case for the PlannerObjective object derived from StaticModel.
2023-09-27 11:23:18 +02:00
Johannes Pfeifer 0abb0077d5 Remove unused lik_algo-option 2023-09-25 11:59:13 +02:00
Johannes Pfeifer 35e324fa23 occbin.solver: do not pass and return full oo_ structure 2023-09-25 11:59:12 +02:00
Sébastien Villemot 3804222667
Ignore -Wold-style-cast in Flex-generated files 2023-09-22 14:29:22 +02:00
Sébastien Villemot 5b7299766f
Remove warning about unused parameter (-Wunused-parameter) under Windows 2023-09-22 14:16:23 +02:00
Sébastien Villemot 5104759bd5
Drop autoconf/automake build system 2023-09-20 15:26:32 +02:00
Johannes Pfeifer f08d02ea66 StaticModel: remove transformation of complex residuals for Julia as well 2023-09-19 12:54:06 +02:00
Johannes Pfeifer 5313286db5 StaticModel: remove transformation of complex residuals 2023-09-19 12:54:06 +02:00
Johannes Pfeifer 2672d9911f estimation: allow additional_optimizer_steps option 2023-09-14 14:56:03 +02:00
Johannes Pfeifer 27a3a559e4
Move BVAR to +bvar folder 2023-09-14 11:59:06 +02:00
Johannes Pfeifer 5a2b3e052f OSR: allow analytic_derivation option 2023-09-12 09:02:40 +02:00
Sébastien Villemot bd0ba65a61
Merge branch 'osr_global' of git.dynare.org:JohannesPfeifer/preprocessor
Ref. !81
2023-09-11 16:45:20 +02:00
Johannes Pfeifer 320ccf46a0 display_static_residuals: remove globals 2023-09-08 14:56:38 +02:00
Johannes Pfeifer 4fc61eec53 Remove globals from OSR 2023-09-08 14:08:34 +02:00
Sébastien Villemot 3a18707685
Bytecode: make destructors of base classes protected
This prevents destruction through a base pointer, which would a memory leak
since the destructor is not virtual (and we cannot make it virtual because it
would break our crude serialization strategy).
2023-09-01 13:50:57 +02:00
Sébastien Villemot c8cd182e98
Build system / Meson: hack for static linking under Windows
[skip ci]
2023-07-28 14:21:09 +02:00
Sébastien Villemot dcb8b50cf8
Build system: split Meson file, for integration with build system for whole of Dynare
[skip ci]
2023-07-28 12:13:46 +02:00
Willi Mutschler 958b0a3800
macOS: use clang if GCC is not available for use_dll
Related to Dynare/dynare#1893 and Dynare/dynare#1894
2023-07-19 10:14:42 +02:00
Sébastien Villemot e1e1a753d0
Do not use C++20 aggregate initialization with parentheses
Initialization with initalizer list is nicer. And, more importantly,
initialization with parentheses is not supported by Clang < 16.
2023-07-07 14:32:16 +02:00
Johannes Pfeifer 508f2ff01e Add interface for brooks_gelman_plotrows option 2023-07-05 13:42:46 -04:00
Johannes Pfeifer 0990492e2f Remove unused exo_names_orig_ord 2023-06-23 08:36:37 -04:00
Johannes Pfeifer 43a7d231d0 Rename resid command
Related to dynare#1888
2023-06-22 14:12:39 -04:00
Sébastien Villemot fa5c4c5191
New homotopy options for perfect_foresight_{setup,solver} and perfect_foresight_with_expectation_errors_solver
Also remove homotopy_alt_starting_point option, and some options from
perfect_foresight_with_expectation_errors_setup.
2023-06-21 15:57:43 +02:00
Sébastien Villemot a1b8602760
Drop terminal_steady_state_as_guess_value option to pfwee_solver 2023-06-15 15:23:36 +02:00
Sébastien Villemot 1947e6de58
Use different filenames for Bison-generated location files 2023-06-07 11:57:12 +02:00
Sébastien Villemot 0de27e8dab
macOS: bump to GCC 13 (for compilation and for use_dll) 2023-06-07 10:48:37 +02:00
Sébastien Villemot 3cc531315b
C++20 modernization: use new standard mathematical constants 2023-05-25 19:06:48 +02:00
Sébastien Villemot 150547b560
🐛 Bytecode + block decomposition: temporary terms were not correctly output
Temporary terms computed in previous blocks were not used in the bytecode
output of a given block. This was inefficient (because this means that
expressions already computed and store in the temporary terms vector would be
recomputed), and incidentally it would break the external functions
output (because it would trigger a lookup in the “TEF terms”, which would thus
fail).

Closes: #115
2023-05-12 17:24:31 +02:00
Johannes Pfeifer 868e3b6417 parallel_use_psexec: use correct field 2023-05-11 13:14:50 -04:00
Sébastien Villemot 2d3e3eff6f
Block decomposition: add specialized normalization algorithm for purely backward models
If the model is purely backward, determine whether all original equations have
a single contemporaneous endogenous on the LHS. If this is the case, then first
try a normalization by enforcing that each original equation is matched with
the endogenous on the LHS.

This helps with the simulation of purely backward models, where equations are
renormalized with mfs=3, since it produces a simpler system to be recursively
evaluated/solved.
2023-04-24 17:49:54 +02:00
Sébastien Villemot d246f9f99a
ModelTree::computeNormalization(): throw an exception in case of normalization failure
It would previously return a boolean. The exception is more convenient for
producing a different error message in the case of the specialized algorithm
introduced in the next commit.
2023-04-24 17:47:29 +02:00
Sébastien Villemot e761da71bd
ModelTree::compute{,NonSingular}Normalization(): minor improvements 2023-04-24 16:52:10 +02:00
Sébastien Villemot a53426fc1f
Use ModelTree::addAuxEquation() method instead of directly manipulating ModelTree::aux_equations 2023-04-24 16:52:10 +02:00
Sébastien Villemot 34edd4e143
Bytecode: remove useless FBEGINBLOCK_::endo_nbr data member 2023-04-18 16:54:35 +02:00
Sébastien Villemot faa1291055
use_dll: turn getPowerDeriv() and sign() into inline functions
This allows the compiler to better optimize by inlining those call when worth
it.
2023-04-11 15:58:49 +02:00