- Sep 09, 2024
-
-
Sébastien Villemot authored
– New “heterogeneity_dimension” statement – New option “heterogeneity” to “var”, “varexo”, “parameters”, “model” and “shocks” statements – New “SUM()” operator in “model” block
-
- Jul 18, 2024
-
-
Sébastien Villemot authored
-
- Jul 17, 2024
-
-
Sébastien Villemot authored
-
- Jun 06, 2024
-
-
Sébastien Villemot authored
-
- Dec 13, 2023
-
-
Sébastien Villemot authored
Automatically detected by clang-tidy with performance-move-const-arg check. Do not make the modification for Tokenizer::location type, since we have no guarantee that the type will remain trivially-copyable in the future.
-
Sébastien Villemot authored
Automatically detected by clang-tidy using performance-unnecessary-value-param check.
-
- Nov 30, 2023
-
-
Sébastien Villemot authored
-
- Jul 07, 2023
-
-
Sébastien Villemot authored
Initialization with initalizer list is nicer. And, more importantly, initialization with parentheses is not supported by Clang < 16.
-
- Apr 11, 2023
-
-
Sébastien Villemot authored
Adapt the code accordingly.
-
- Mar 28, 2023
-
-
Sébastien Villemot authored
The computing of the Ramsey steady state relies on the fact that Lagrange multipliers appear linearly in the system to be solved. Instead of directly solving for the Lagrange multipliers along with the other variables, dyn_ramsey_static.m reduces the size of the problem by always computing the value of the multipliers that minimizes the residuals, given the other variables (using a minimum norm solution, easy to compute because of the linearity property). That function thus needs the derivatives of the optimality FOCs with respect to the multipliers. The problem is that, when multipliers appear in an auxiliary variable related to a lead/lag, then those derivatives need to be retrieved by a chain rule derivation, which cannot be easily done with the regular static file. This commit implements the creation of a new file, ramsey_multipliers_static_g1.{m,mex}, that provides exactly the needed derivatives w.r.t. Lagrange multipliers through chain rule derivation. Ref. dynare#633, dynare#1119, dynare#1133
-
Sébastien Villemot authored
This is effectively a revert of commits 1b4f68f9, 32fb90d5 and f6f4ea70. This transformation had been introduced in order to fix the computation of the Ramsey steady state in the case where Lagrange multipliers appeared with a lead or lag ⩾ 2 (and where thus part of the definition of an auxiliary variable). But this transformation had introduced bugs in the handling of external functions which were difficult to tackle. Moreover, it seems preferable to keep the strict correspondence between the dynamic and static model, in order to make reasoning about the preprocessor internals easier (in particular, for this reason this transformation was not implemented in ModFile::transformPass() but in ModFile::computingPass(), which was a bit confusing). A better solution for the Ramsey steady state issue will is implemented in the descendent of the present commit. Ref. dynare#633, dynare#1119, dynare#1133
-
- Mar 24, 2023
-
-
Sébastien Villemot authored
-
- Feb 28, 2023
-
-
Sébastien Villemot authored
-
- Jul 20, 2022
-
-
Sébastien Villemot authored
Rather make all data members public and const, and use aggregate-initialization.
-
- Jun 22, 2022
-
-
Sébastien Villemot authored
By the way, remove other unnecessary calls to that constructor.
-
- Jun 07, 2022
-
-
Sébastien Villemot authored
In particular, use this feature in many loops which feature a special treatment for the first iteration, using a boolean variable (replacing iterator manipulation). By the way, also use std::exchange() to simultaneously test the value of this variable and update it.
-
Sébastien Villemot authored
-
- May 18, 2022
-
-
Sébastien Villemot authored
This disables warnings when -Wimplicit-fallthrough is used (enabled by -Wextra).
-
- May 16, 2022
-
-
Sébastien Villemot authored
-
Sébastien Villemot authored
C++17 modernization: use std::optional for the storage of orig_symb_id and orig_lead_lag in SymbolTable For the diff and unaryOp auxvar types, these value may be set or unset depending on the complexity of the expression represented by the auxvar.
-
- May 04, 2022
-
-
Sébastien Villemot authored
-
Sébastien Villemot authored
-
- Mar 30, 2022
-
-
Sébastien Villemot authored
When an endogenous is declared with “var(log)”, say “y”: – creates an auxiliary named “LOG_y” – replaces “y(±l)” everywhere by “exp(LOG_y(±l))” – adds a new auxiliary equation “y=exp(LOG_y)” – adds a new definition “LOG_y=log(y)” in set_auxiliary_variables.m and dynamic_set_auxiliary_series.m files This option also works in conjunction with “deflator=…”, such as “var(log, deflator=…)” (the “log” must appear befor “deflator”). There are no provisions for combining “log” with “log_deflator”, because that would not make much sense from an economic point of view (amounts to taking the log two times). Ref. dynare#349
-
- Jan 28, 2022
-
-
Sébastien Villemot authored
This is a more natural semantics. Incidentally, this fixes a bug in the variable mapping (M_.mapping) where some endogenous, appearing in a log() in a VAR or TCM, would not be mentioned (e.g. in the var-expectations/7/example1.mod test, and many others).
-
Sébastien Villemot authored
For symmetry with SymbolTable::addUnaryOpAuxiliaryVar().
-
Sébastien Villemot authored
By the way: – Fix and improve the explanation of the purpose of the orig_symb_id and orig_lead_lag fields for auxvars – Factorize the code that prints those fields in MATLAB and JSON output
-
Sébastien Villemot authored
The logic was flawed in several ways. In particular, the test files pac/trend-component-{3,10,11}/example1.mod would return A0 and A0star matrices where the (2,2) element was incorrectly zero.
-
Sébastien Villemot authored
The case of a diff aux var corresponding to a complex expression was not correctly handled, and could lead to a value -1 being returned by these methods.
-
- Dec 16, 2021
-
-
Sébastien Villemot authored
Ref. Madysson/estimation-codes#5
-
- Nov 23, 2021
-
-
Sébastien Villemot authored
Also add the new equation to auxiliary equations in the backward case (but not in the MCE case, since that equation is recursive).
-
- Oct 26, 2021
-
-
Sébastien Villemot authored
-
- Oct 08, 2021
-
-
MichelJuillard authored
-
- Jul 07, 2021
-
-
Sébastien Villemot authored
-
- Jun 09, 2021
-
-
Sébastien Villemot authored
-
- Apr 19, 2021
-
-
Sébastien Villemot authored
The Julia code now uses the JSON output for retrieving the information that previously was in the driver file.
-
- Apr 01, 2021
-
-
- Oct 16, 2020
-
-
Sébastien Villemot authored
-
- Sep 23, 2020
-
-
Sébastien Villemot authored
SymbolTable::getTypeSpecificID() now throws an exception instead of returning -1 when symbol does not have a type-specific ID This can potentially avoid some undetected bugs.
-
- Jan 06, 2020
-
-
Sébastien Villemot authored
In particular, introduce a method for clearing all equations, so that tags and line numbers are also cleared. Ref. dynare#1685
-
- Dec 20, 2019
-
-
Sébastien Villemot authored
-