- 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
-
- Feb 06, 2024
-
-
Sébastien Villemot authored
-
- Dec 01, 2023
-
-
Sébastien Villemot authored
Automatically detected using clang-tidy with bugprone-reserved-identifier check. By the way, homogeneize the define identifiers in relation to camel case convention.
-
- Nov 30, 2023
-
-
Sébastien Villemot authored
-
- Oct 16, 2023
-
-
Sébastien Villemot authored
Currently defaults to 0.
-
Sébastien Villemot authored
This should have been in commit 0169240f.
-
Sébastien Villemot authored
This is a restoration of the behaviour that was present in 5.x.
-
- Sep 27, 2023
-
-
Sébastien Villemot authored
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 a8ea57dd, which had already removed bytecode for the planner objective model.
-
Sébastien Villemot authored
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.
-
- Mar 28, 2023
-
-
Sébastien Villemot authored
-
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
It was erroneously using MATLAB costs, leading to possible inefficiencies (though those cost tables are probably not very accurate and should be revised).
-
- Mar 20, 2023
-
-
Sébastien Villemot authored
Previously, the MinGW location was appended multiple times to the PATH variable, which in some cases would make the variable too long and thus dysfunctional. The variable is now initialized once when the worker threads are created. By the way, move the macOS+Octave environment variable initializations to the same place, for consistency.
-
- Mar 03, 2023
-
-
Sébastien Villemot authored
Variable indices would be incorrect in the evaluated Jacobian if recursive variables were present. This would lead to incorrect results and/or crashes in bytecode MEX. This bug has been exposed by commit f45a99fc, which actually enabled mfs>0 for static models.
-
- Jan 17, 2023
-
-
Sébastien Villemot authored
-
- Jan 13, 2023
-
-
Sébastien Villemot authored
As a consequence, and as a temporary measure, always output the non-block-decomposed legacy representation. Also drop the block kalman filter output, and drop now useless variables in M_.block_structure.
-
- Dec 14, 2022
-
-
Sébastien Villemot authored
Closes: #105
-
- Nov 22, 2022
-
-
- Nov 04, 2022
-
-
Sébastien Villemot authored
Ref. dynare#1859
-
Sébastien Villemot authored
Ref. dynare#1859
-
Sébastien Villemot authored
The stochastic mode in currently unsupported. This commit adds new fields in M_. This is a preliminary step for dynare#1859.
-
Sébastien Villemot authored
This is now possible since the block decomposition is always computed. Of course, the information is not printed if the decomposition failed.
-
- Nov 02, 2022
-
-
Sébastien Villemot authored
-
Sébastien Villemot authored
-
Sébastien Villemot authored
Ref. dynare#1859
-
Sébastien Villemot authored
The new representation is only supported for MATLAB/Octave, C and Julia output for the time being. Bytecode and JSON are unsupported. This commit adds new fields in M_. This is a preliminary step for dynare#1859.
-
- Oct 11, 2022
-
-
Sébastien Villemot authored
– DataTree::packageDir() now takes a std::string_view, returns a std::filesystem::path, and no longer creates that directory – DataTree::writeToFileIfModified() now takes a std::filesystem::path as argument – Do not call DataTree::writeToFileIfModified() for generating MATLAB/Octave files, since it does not work (the directory inside which the file is written has been deleted by the preprocessor just before) – Consistently use DataTree::packageDir() everywhere (for compatibility with planner_objective)
-
- Oct 07, 2022
-
-
Sébastien Villemot authored
By the way, factorize the code between the dynamic and static versions. Ref. #41
-
Sébastien Villemot authored
In particular, it implements dependency tracking in the thread scheduler, so that multiple MEX files can share object files. Ref. #41
-
Sébastien Villemot authored
-
- Oct 04, 2022
-
-
Sébastien Villemot authored
Also add “block_decomposed” data member for tracking whether the block decomposition has been successful.
-
Sébastien Villemot authored
This avoids computing those paths two times (the second time when compiling them).
-
- Sep 27, 2022
-
-
Sébastien Villemot authored
This is unsafe since the find() method can return a past-the-end iterator, which should be tested for. Replace most instances by calls to the std::map::at() method (which throws if the key is unknown), and which is incidentally more readable.
-
- Sep 21, 2022
-
-
Sébastien Villemot authored
For symmetry with the dynamic case, and for avoiding a call to “return” in the middle of StaticModel::writeDriverOutput().
-
- Sep 14, 2022
-
-
Sébastien Villemot authored
When computing the derivatives or block decomposition of the planner objective, the epilogue or the original Ramsey model, the preprocessor would talk about dynamic/static model, which was confusing. It now uses the right terminology.
-
- Sep 13, 2022
-
-
Sébastien Villemot authored
If block decomposition fails, error out if “block” option was passed, but not otherwise. This commit does not modify the generated files. This is a preliminary step for dynare#1859.
-
- Jul 21, 2022
-
-
Sébastien Villemot authored
-
Sébastien Villemot authored
Compute temporary terms for derivatives of “evaluate” mode, even though those derivatives are not computed. This is because the temporary terms may be useful for subsequent blocks. By the way, add an explanatory comment for the equivalent code in dynamic file.
-
- Jul 20, 2022
-
-
Sébastien Villemot authored
-
- Jul 12, 2022
-
-
Sébastien Villemot authored
-