dynare issueshttps://git.dynare.org/Dynare/dynare/-/issues2019-12-13T17:22:32Zhttps://git.dynare.org/Dynare/dynare/-/issues/1683Provide preprocessor warning that `simul` is deprecated2019-12-13T17:22:32ZJohannes PfeiferProvide preprocessor warning that `simul` is deprecatedWe provide a preprocessor warning that `ramsey_policy` is deprecated. We should provide a similar warning if `simul` is called that the recommended syntax is `perfect_foresight_setup` and `perfect_foresight_solver`.We provide a preprocessor warning that `ramsey_policy` is deprecated. We should provide a similar warning if `simul` is called that the recommended syntax is `perfect_foresight_setup` and `perfect_foresight_solver`.4.6Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/-/issues/1685Fix write_latex_dynamic_model(write_equation_tags) for ramsey_model2020-01-06T17:33:31ZJohannes PfeiferFix write_latex_dynamic_model(write_equation_tags) for ramsey_modelWhen using `ramsey_model`, the `M_.ramsey_eq_nbr` planner FOCs are written before the `M_.orig_eq_nbr` private sector FOCs for which the equation tags have been provided. But the equation tags are printed for the first `M_.orig_eq_nbr` e...When using `ramsey_model`, the `M_.ramsey_eq_nbr` planner FOCs are written before the `M_.orig_eq_nbr` private sector FOCs for which the equation tags have been provided. But the equation tags are printed for the first `M_.orig_eq_nbr` equations, not for the `M_.ramsey_eq_nbr+1:M_.eq_nbr` ones.4.6Sébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1686Add interface to set LaTeX-name of optimal_policy_discount_factor2019-12-18T16:46:52ZJohannes PfeiferAdd interface to set LaTeX-name of optimal_policy_discount_factorI would propose an option `planner_discount_latex_name` to `ramsey_model` that takes a string and sets `M_.param_names_tex{strmatch('optimal_policy_discount_factor',M_.param_names,'exact')}` as well as the internal field in the preproces...I would propose an option `planner_discount_latex_name` to `ramsey_model` that takes a string and sets `M_.param_names_tex{strmatch('optimal_policy_discount_factor',M_.param_names,'exact')}` as well as the internal field in the preprocessor output used for the `write_latex_*` commands. Unfortunately, this needs to be a LaTeX string that can contain a backslash. If the parser cannot easily handle this, we should not implement it.4.6Sébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1687Interface and documentation for new shock decomposition functionalities2020-01-22T17:18:39ZSébastien VillemotInterface and documentation for new shock decomposition functionalitiesImplement the preprocessor changes needed for !1655.
The test `tests/shock_decomposition/ls2003_plot.mod` will need to be adapted for the new `squeeze_shock_decomposition` command.
Also add the related documentation.Implement the preprocessor changes needed for !1655.
The test `tests/shock_decomposition/ls2003_plot.mod` will need to be adapted for the new `squeeze_shock_decomposition` command.
Also add the related documentation.4.6Sébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1688fix `basic_plan`, `flip_plan` in doc2024-01-29T20:57:50ZHoutan Bastanifix `basic_plan`, `flip_plan` in docThe calling structure for both of these functions runs off the end of the pageThe calling structure for both of these functions runs off the end of the page6.xStéphane Adjemianstepan@adjemian.euStéphane Adjemianstepan@adjemian.euhttps://git.dynare.org/Dynare/dynare/-/issues/1689Clarify licensing information for identification stuff2020-01-24T14:41:20ZSébastien VillemotClarify licensing information for identification stuffSee !1689
The information should be added in the corresponding headers, and in `license.txt`See !1689
The information should be added in the corresponding headers, and in `license.txt`4.6Willi Mutschlerwilli@mutschler.euWilli Mutschlerwilli@mutschler.euhttps://git.dynare.org/Dynare/dynare/-/issues/1690Return an error if nonlinear filters are used with trends or prefilter2020-01-13T17:40:52ZStéphane Adjemianstepan@adjemian.euReturn an error if nonlinear filters are used with trends or prefilterSee discussion [here](https://git.dynare.org/Dynare/dynare/commit/76e3c6ca687dbbb55f5e8b47cc8a613b039d80ed#note_10148).See discussion [here](https://git.dynare.org/Dynare/dynare/commit/76e3c6ca687dbbb55f5e8b47cc8a613b039d80ed#note_10148).4.6Stéphane Adjemianstepan@adjemian.euStéphane Adjemianstepan@adjemian.euhttps://git.dynare.org/Dynare/dynare/-/issues/1691Allow dynasave and dynatype to also save simulated exogenous variables2020-01-06T13:59:31ZJohannes PfeiferAllow dynasave and dynatype to also save simulated exogenous variablesThe documentation does not state that this is not allowed. We would need to
* [x] Adjust the Matlab code
* [ ] Make the documentation more explicit
* [x] Allow for the `var_list_` to accept exogenousThe documentation does not state that this is not allowed. We would need to
* [x] Adjust the Matlab code
* [ ] Make the documentation more explicit
* [x] Allow for the `var_list_` to accept exogenous4.6https://git.dynare.org/Dynare/dynare/-/issues/1692Update doc for dynasave and dynatype2020-01-06T10:05:46ZHoutan BastaniUpdate doc for dynasave and dynatypeSplitting up #1691, update the doc for 4.6 and leave the other changes for 4.7Splitting up #1691, update the doc for 4.6 and leave the other changes for 4.74.6Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/-/issues/1694Identification tests fail for old matlab2020-01-24T17:25:41ZWilli Mutschlerwilli@mutschler.euIdentification tests fail for old matlabSome identification tests fail under MATLAB R2009b, see https://git.dynare.org/Dynare/dynare/-/jobs/12770. Some functions need to be replaced.Some identification tests fail under MATLAB R2009b, see https://git.dynare.org/Dynare/dynare/-/jobs/12770. Some functions need to be replaced.4.6Willi Mutschlerwilli@mutschler.euWilli Mutschlerwilli@mutschler.euhttps://git.dynare.org/Dynare/dynare/-/issues/1695Calib_Smoother options specify sheet and range2020-01-13T17:40:52ZCamilo MarchesiniCalib_Smoother options specify sheet and range```calib_smoother``` currently does not support options related to 'sheet' and 'range' of the Excel spreadsheet. However, these options can be included in the ```estimation``` call. It could be useful to include them also in the call to ...```calib_smoother``` currently does not support options related to 'sheet' and 'range' of the Excel spreadsheet. However, these options can be included in the ```estimation``` call. It could be useful to include them also in the call to ```calib_smoother``` .
4.6https://git.dynare.org/Dynare/dynare/-/issues/1696fix parsing of user-provided command line arguments2022-12-06T17:47:52ZHoutan Bastanifix parsing of user-provided command line argumentsMatlab is actually quite good about keeping user-provided arguments together. See:
```
>> dynare example1 '-DA="nthn thnth"' -DB=[1,2, .3] -DB=( oe )
-DA="nthn thnth"
-DB=[1,2, .3]
-DB=( oe )
```
The output above comes from sim...Matlab is actually quite good about keeping user-provided arguments together. See:
```
>> dynare example1 '-DA="nthn thnth"' -DB=[1,2, .3] -DB=( oe )
-DA="nthn thnth"
-DB=[1,2, .3]
-DB=( oe )
```
The output above comes from simply printing the arguments of `varargin`.
We should be able to thus simply add single quotes around every user-provided argument in `dynare.m` and pass these directly to the preprocessor for processing. We'd then require that all strings be double-quoted and could potentially even handle macro expressions (not just base values) in `-D` arguments.4.6Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/-/issues/1697Regression in LMMCP perfect foresight solver2020-12-02T21:55:49ZSébastien VillemotRegression in LMMCP perfect foresight solverThe simulation in `tests/lmmcp/rbcii.mod` fails to converge. The same file works with 4.5.
Once this is fixed, a check that convergence has indeed been obtained should be added, so that regressions may be detected earlier in the future.The simulation in `tests/lmmcp/rbcii.mod` fails to converge. The same file works with 4.5.
Once this is fixed, a check that convergence has indeed been obtained should be added, so that regressions may be detected earlier in the future.4.6Sébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1699Welfare under optimal discretionary policy not computed2020-01-30T14:50:04ZSébastien VillemotWelfare under optimal discretionary policy not computedAt least with `dennis_1.mod` and `Gali_discretion.mod` from `tests/discretionary_policy/`, the welfare (as stored in `oo_.planner_objective_value`) is a `NaN`. This is a regression from 4.5.
Unfortunately, the test at the end of `Gali_d...At least with `dennis_1.mod` and `Gali_discretion.mod` from `tests/discretionary_policy/`, the welfare (as stored in `oo_.planner_objective_value`) is a `NaN`. This is a regression from 4.5.
Unfortunately, the test at the end of `Gali_discretion.mod` did not catch the problem, because of the specific evaluation rules for `NaN`. This should also be fixed with some call to `isnan()`.4.6Sébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1701det_conditional_forecast doesn't set set options_.qz_criterium2020-02-03T17:37:21ZMichelJuillarddet_conditional_forecast doesn't set set options_.qz_criteriumWhen ``det_conditional_forecast`` is used by itself in a *.mod file as in the example of the manual options_.qz_criterium isn't set.
We should have
```
options_.qz_criterium = 1+1e-6;
```
at the beginning of the functionWhen ``det_conditional_forecast`` is used by itself in a *.mod file as in the example of the manual options_.qz_criterium isn't set.
We should have
```
options_.qz_criterium = 1+1e-6;
```
at the beginning of the function4.6https://git.dynare.org/Dynare/dynare/-/issues/1702det_cond_forecast() argument checking is broken2021-01-28T20:29:40ZMichelJuillarddet_cond_forecast() argument checking is brokenIf one calls det_cond_forecast with two arguments only as in the manual example, the function fails with error
```
impossible case
```
that is triggered near line 208If one calls det_cond_forecast with two arguments only as in the manual example, the function fails with error
```
impossible case
```
that is triggered near line 2085.xMichelJuillardMichelJuillardhttps://git.dynare.org/Dynare/dynare/-/issues/1703det_cond_forecast() depends on oo_.dr.state_var but this is not always available2021-09-17T16:07:34ZMichelJuillarddet_cond_forecast() depends on oo_.dr.state_var but this is not always available``det_cond_forecast()`` depends on ``oo_.dr.state_var`` but this variable is computed by ``dyn_first_order_solver``. So it isn't available for a purely backward or purely forward model``det_cond_forecast()`` depends on ``oo_.dr.state_var`` but this variable is computed by ``dyn_first_order_solver``. So it isn't available for a purely backward or purely forward model5.xMichelJuillardMichelJuillardhttps://git.dynare.org/Dynare/dynare/-/issues/1705Fix, clean and speed up discretionary_policy routines2020-02-12T16:18:04ZJohannes PfeiferFix, clean and speed up discretionary_policy routinesAs is `discretionary_policy_1.m` has various issues
1. At its end, we have
```
function ys=NondistortionarySteadyState(M_)
if exist([M_.fname,'_steadystate.m'],'file')
eval(['ys=',M_.fname,'_steadystate.m;'])
else
ys=zeros(M_.en...As is `discretionary_policy_1.m` has various issues
1. At its end, we have
```
function ys=NondistortionarySteadyState(M_)
if exist([M_.fname,'_steadystate.m'],'file')
eval(['ys=',M_.fname,'_steadystate.m;'])
else
ys=zeros(M_.endo_nbr,1);
end
```
which seems to miss the case of a `steady_state_model`-block. It's also not clear why we have this in any case. At the end of the function, we write `ys` based on this input. But throughout the function, like in
```
[U,Uy,W] = feval([M_.fname,'.objective.static'],zeros(endo_nbr,1),[], M_.params);
```
we assume the steady state to be 0.
2. The handling of error codes should be nested into the `print_info`-framework as opposed to always issuing errors.
3. The function is very verbatim in terms of providing diagnostics. That is useful in standalone code, but a bottleneck when run in a loop like `estimation` where we only want to discard infeasible draws without providing diagnostics.
4. The order of some checks is strange. We do computations on the model before checking e.g. whether the number of instruments is valid. We should be able to do this without computing the Jacobian. Also a check like this should only be done once in the context of estimation and does not belong into the core engine. This suggests a different factorization.
Related to https://git.dynare.org/Dynare/dynare/issues/11734.6Johannes PfeiferJohannes Pfeiferhttps://git.dynare.org/Dynare/dynare/-/issues/1706Fix wrong computation in third-order approximation in pruned_state_space.m2020-04-06T08:19:17ZJohannes PfeiferFix wrong computation in third-order approximation in pruned_state_space.mMattermost discussion 06/02/20Mattermost discussion 06/02/204.6Willi Mutschlerwilli@mutschler.euWilli Mutschlerwilli@mutschler.euhttps://git.dynare.org/Dynare/dynare/-/issues/1707Macro commands that take no arguments have spurious parentheses appended to t...2024-01-17T20:31:14ZSébastien VillemotMacro commands that take no arguments have spurious parentheses appended to their synopsisSee for example the definition of `@#else`, `@#endif`, `@#endfor`, `@#echomacrovars` in the reference manual.See for example the definition of `@#else`, `@#endif`, `@#endfor`, `@#echomacrovars` in the reference manual.6.xhttps://git.dynare.org/Dynare/dynare/-/issues/1708Preprocessor fails to parse dates with negative date2020-06-30T12:10:36ZMichelJuillardPreprocessor fails to parse dates with negative date```
dates('-4Y');
```
translates in
```
dates('-dates('4Y')');
```
and
```
'-4Y'
```
translates in
```
'-dates('4Y')';
```
See attached *.mod file[test_negative_date.mod](/uploads/bd77dc2c55701ffd505b432a2071f86d/test_negative_date.mod...```
dates('-4Y');
```
translates in
```
dates('-dates('4Y')');
```
and
```
'-4Y'
```
translates in
```
'-dates('4Y')';
```
See attached *.mod file[test_negative_date.mod](/uploads/bd77dc2c55701ffd505b432a2071f86d/test_negative_date.mod)
The problem didn't appear in 4.5.74.6Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/-/issues/1710num_procs doesn't exist in Matalb R2019b anymore2020-02-22T17:49:35ZMichelJuillardnum_procs doesn't exist in Matalb R2019b anymoreThere is no function ``num_procs``in Matlab release 2019b
``num_procs`` is used in ``default_option_values.m`` to initialize number of threads for ``kronecker.sparse_hessian_times_B_kronecker_C``, ``perfect_foresight_problem`` and ``k_o...There is no function ``num_procs``in Matlab release 2019b
``num_procs`` is used in ``default_option_values.m`` to initialize number of threads for ``kronecker.sparse_hessian_times_B_kronecker_C``, ``perfect_foresight_problem`` and ``k_order_perturbation``
A possible alternative would be an undocumented Matlab feature: ``feature('numcores')``
Undocumented Matlab features are discussed in this old document: http://undocumentedmatlab.com/articles/undocumented-feature-function/ but is still working.https://git.dynare.org/Dynare/dynare/-/issues/1711Provide M_ as output of stoch_simul and discretionary_policy2020-05-06T14:33:56ZJohannes PfeiferProvide M_ as output of stoch_simul and discretionary_policyWe forgot in https://git.dynare.org/Dynare/dynare/commit/e043c60903dd0e5746feb8af25cd60f1dbcbe53f
that within the computation of decision rules, the steady state file can change parameters and therefore `M_.params`. In the current versio...We forgot in https://git.dynare.org/Dynare/dynare/commit/e043c60903dd0e5746feb8af25cd60f1dbcbe53f
that within the computation of decision rules, the steady state file can change parameters and therefore `M_.params`. In the current version, that change will not be passed to the base workspace.https://git.dynare.org/Dynare/dynare/-/issues/1712Difficulty configuring dynare in Ubuntu 18.042020-03-17T10:31:02ZCraig FratrikDifficulty configuring dynare in Ubuntu 18.04There doesn't seem to be an easy way to get Ubuntu 18.04 to default to GCC 8 if GCC 7 is around, which is normally is because of build-essentials.
It would be nice if the configure script for dynare, double checked that gcc and g++ and ...There doesn't seem to be an easy way to get Ubuntu 18.04 to default to GCC 8 if GCC 7 is around, which is normally is because of build-essentials.
It would be nice if the configure script for dynare, double checked that gcc and g++ and gfortran are >= 8, and if they aren't lookede for gcc-8, etc. instead.
I'm not sure how much work this would be inside the configure scripts. But if you think it's a good idea I can look into it. It would be especially helpful if you had thoughts on the best way to do this, because I'm ignorant when it comes to configure things.
I did write this script after >30m of searching on the internet [update-alternatives.sh](/uploads/7fd44dc23129675f12ea787e3c5e561c/update-alternatives.sh)https://git.dynare.org/Dynare/dynare/-/issues/1713Decide minimal MATLAB version requirement for Dynare 4.72020-09-03T14:45:14ZSébastien VillemotDecide minimal MATLAB version requirement for Dynare 4.7We need to decide what will be the minimal version of MATLAB required to run Dynare 4.7.
For Dynare 4.6, our policy has been to support MATLAB versions that are at most 10 years old.
Assuming that Dynare 4.7 is released in 2021, keepin...We need to decide what will be the minimal version of MATLAB required to run Dynare 4.7.
For Dynare 4.6, our policy has been to support MATLAB versions that are at most 10 years old.
Assuming that Dynare 4.7 is released in 2021, keeping the same policy would imply raising the minimal MATLAB version to R2011a or R2011b (depending on the exact release date).
But we could also decide to change our policy and support less versions. For example, we could go for a 5-years windows, which would imply R2016a or R2016b. Or we could choose something between 5 and 10 years.
Relevant to this discussion is the list of [MATLAB incompatibilities across versions](https://git.dynare.org/Dynare/dynare/-/wikis/MATLAB-Versions). Here are the main benefits that would bring certain requirements:
- *R2013a*: we could get rid of the hack needed to support `intersect(…, 'stable')`
- *R2014a*: we could easily install the minimal required MATLAB version on modern GNU/Linux systems (currently we need a hack to create an artificial `eth0` device with the correct MAC address)
- *R2016a*: we could drop the support for 32-bit versions, which would halve the size of the Windows installer and simplify the build process
- *R2016b*: we could use automatic broadcasting in many places, instead of the obscure `bsxfun` syntax5.xSébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1714`get_error_message` does not return an output when `options_.noprint = 1`2020-03-10T08:26:24ZAliaksandr Zaretski`get_error_message` does not return an output when `options_.noprint = 1`The function `get_error_message` must return an output, but does so only when `options_.noprint = 0`. Hence, there is an unexpected error message when both `info(1) > 0` and `options_.noprint = 1`. To replicate, see attached [example1_ed...The function `get_error_message` must return an output, but does so only when `options_.noprint = 0`. Hence, there is an unexpected error message when both `info(1) > 0` and `options_.noprint = 1`. To replicate, see attached [example1_ed.mod](/uploads/f0716731f7540ce7030e68dd2e5de1eb/example1_ed.mod), where I set `alpha = -0.36` to generate an error and added the `noprint` option. See attached slightly revised [print_info.m](/uploads/30439caa39aacbdac9f9e1b2a644483b/print_info.m) and [get_error_message.m](/uploads/c15787c57bb9e46b6a3136be9a803db9/get_error_message.m) where the issue is solved.https://git.dynare.org/Dynare/dynare/-/issues/1715Clean root folder of /tests2023-03-20T11:45:35ZJohannes PfeiferClean root folder of /testsAll integration tests should be in subfolders. The current structure is a messAll integration tests should be in subfolders. The current structure is a mess6.xhttps://git.dynare.org/Dynare/dynare/-/issues/1718Auxillary particle filter --- number_of_state_variables is undefined2023-07-12T16:29:58ZArtur ZmanovskiiAuxillary particle filter --- number_of_state_variables is undefinedIn `particles/src/auxiliary_particle_filter.m` under specific options (`options_.particle.pruning=1`, `resampling` in `estimation()` is `systematic/generic`), a chunk of code is executed (lines 136--139), which has undefined variable (`n...In `particles/src/auxiliary_particle_filter.m` under specific options (`options_.particle.pruning=1`, `resampling` in `estimation()` is `systematic/generic`), a chunk of code is executed (lines 136--139), which has undefined variable (`number_of_state_variables` --- at lines 137--138) and causes error.5.xStéphane Adjemianstepan@adjemian.euStéphane Adjemianstepan@adjemian.euhttps://git.dynare.org/Dynare/dynare/-/issues/1719Allow running shock_decomposition on simulated model2020-03-31T16:18:23ZJohannes PfeiferAllow running shock_decomposition on simulated modelCurrently, `shock_decomposition` only allows for
```
if isempty(parameter_set)
if isfield(oo_,'posterior_mean')
parameter_set = 'posterior_mean';
elseif isfield(oo_,'mle_mode')
parameter_set = 'mle_mode';
else...Currently, `shock_decomposition` only allows for
```
if isempty(parameter_set)
if isfield(oo_,'posterior_mean')
parameter_set = 'posterior_mean';
elseif isfield(oo_,'mle_mode')
parameter_set = 'mle_mode';
elseif isfield(oo_,'posterior')
parameter_set = 'posterior_mode';
else
error(['shock_decomposition: option parameter_set is not specified ' ...
'and posterior mode is not available'])
end
end
```
but then we call `evaluate_smoother`, where we allow for
```
switch parameters
case 'posterior_mode'
parameters = get_posterior_parameters('mode',M_,estim_params_,oo_,options_);
case 'posterior_mean'
parameters = get_posterior_parameters('mean',M_,estim_params_,oo_,options_);
case 'posterior_median'
parameters = get_posterior_parameters('median',M_,estim_params_,oo_,options_);
case 'mle_mode'
parameters = get_posterior_parameters('mode',M_,estim_params_,oo_,options_,'mle_');
case 'prior_mode'
parameters = bayestopt_.p5(:);
case 'prior_mean'
parameters = bayestopt_.p1;
case 'calibration'
if isempty(oo_.dr)
error('You must run ''stoch_simul'' first.');
end
parameters = [];
```https://git.dynare.org/Dynare/dynare/-/issues/1720lmmcp does not work with purely forward or backward models2022-09-06T13:06:43ZJohannes Pfeiferlmmcp does not work with purely forward or backward modelsIn this case, the MCP-tags are ignored due to `perfect_foresight_solver_core` having checks like `if M_.maximum_endo_lead == 0` and immediately calling `sim1_purely_backward` and `sim1_purely_forward`, which do not account for the constr...In this case, the MCP-tags are ignored due to `perfect_foresight_solver_core` having checks like `if M_.maximum_endo_lead == 0` and immediately calling `sim1_purely_backward` and `sim1_purely_forward`, which do not account for the constraints. A current workaround is using dummy equations.5.xSébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1721Get rid of oo_.dr.kstate2024-03-26T09:53:46ZSébastien VillemotGet rid of oo_.dr.kstateIn particular, see the discussion in #1653In particular, see the discussion in #16537.xSébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1722Provide mapping between model local variable names and indices in the T vector2020-06-05T16:31:12ZTom HoldenProvide mapping between model local variable names and indices in the T vectorPer a request from a DynareOBC user, today I started working on making DynareOBC compatible with Dynare 4.6.
This is proving harder than expected due to the changes to preprocessor output.
Previously, DynareOBC relied on the *_static.m...Per a request from a DynareOBC user, today I started working on making DynareOBC compatible with Dynare 4.6.
This is proving harder than expected due to the changes to preprocessor output.
Previously, DynareOBC relied on the *_static.m and *_dynamic.m files containing lines giving the value of model local variables (MLVs). This is used in multiple places, e.g. for obtaining the steady state of the augmented model, or for generating code for MLV simulation.
Of course, it is not your duty to support DynareOBC, but having this information in the static and dynamic files was generally useful. For example, in code prepared for the Dynare summer school I used to teach, I used this feature to facilitate writing code for a "perturbation plus" type simulation algorithm (i.e. perturbation used for next period values conditional on today's state and future shock, but given this approximation, the full nonlinear equations + cubature were used to derive today's value).
To make things easy again, it would be sufficient if the generated *_tt.m added comments at the end of each line defining a temporary variable (i.e. T(*)) definition with the name of the MLV to which the given element T(*) corresponds. E.g.:
`#dynareOBCMaxFunc1=max(dynareOBCMaxArgA1,dynareOBCMaxArgB1);`
would become:
`T(14) = max(T(12),T(13)); % dynareOBCMaxFunc1`
Alternatively, the optionally generated JSON could contain this information.
However, I guess that for either of these approaches to be viable as a strategy for DynareOBC to support Dynare 4.6, this would need to be added to Dynare fairly quickly (e.g. for 4.6.2), which may not be viable.
If this is not possible, (and in any case), it would be good to have some documentation of what users can safely assume about the elements of the T vector. A few relevant questions follow:
1. Are all MLVs defined in the model block and used somewhere in the model guaranteed to be in the T vector?
2. If MLV A is defined before MLV B in the model block, then will A definitely be before B in the T vector?
3. Are the MLVs guaranteed to be the first elements of the T vector, or could MLVs and generated temporaries be interspersed?5.xSébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1723Equations defining model local variables are not included in generated JSON f...2020-06-05T16:31:12ZTom HoldenEquations defining model local variables are not included in generated JSON filesThis bug came up in conversation with @MichelJuillard .
For example, this model block:
```
model;
#Pi=exp(pi);
#Pi_LEAD=exp(pi(1));
#Pi_STEADY=exp(pi_STEADY);
#kappa=(gamma/2)*(Pi-1)^2;
#kappa_STEADY=(gamma/2)*(Pi_STEADY-1)^2;
#c=log(1-...This bug came up in conversation with @MichelJuillard .
For example, this model block:
```
model;
#Pi=exp(pi);
#Pi_LEAD=exp(pi(1));
#Pi_STEADY=exp(pi_STEADY);
#kappa=(gamma/2)*(Pi-1)^2;
#kappa_STEADY=(gamma/2)*(Pi_STEADY-1)^2;
#c=log(1-kappa-eta)+y;
#c_LEAD=log(1-(gamma/2)*(Pi_LEAD-1)^2-eta)+y(1);
#h=y-z;
#w=sigma*c+nu*h-log(1-tauw);
#re=-log(beta)-d(1)+pi_STEADY;
#y_STEADY=(1/(sigma+nu))*(log((1-tauw)*((1-beta)*(Pi_STEADY-1)*Pi_STEADY/theta*gamma+1))-sigma*log(1-kappa_STEADY-eta));
#gdp=log(1-kappa)+y;
#gdp_STEADY=log(1-kappa_STEADY)+y_STEADY;
#dynareOBCMaxArgA1=(0);
#dynareOBCMaxArgB1=(re+phi_pi*(pi-pi_STEADY)+phi_y*(gdp-gdp_STEADY));
#dynareOBCMaxFunc1=max(dynareOBCMaxArgA1,dynareOBCMaxArgB1);
r=(dynareOBCMaxFunc1);
1=beta*exp(d(1)+r-pi(1)+sigma*(c-c_LEAD));
(Pi-1)*Pi=theta/gamma*(exp(w-z)-1)+beta*exp(d(1)+sigma*(c-c_LEAD)+y(1)-y)*(Pi_LEAD-1)*Pi_LEAD;
d=rhod*d(-1)+sigmad*epsilond;
z=rhoz*z(-1)+sigmaz*epsilonz;
end;
```
becomes this in the JSON file (with `json=parse`):
```
...
"model":[
{"lhs": "r", "rhs": "dynareOBCMaxFunc1", "line": 37}
, {"lhs": "1", "rhs": "beta*exp(d(1)+r-pi(1)+sigma*(c-c_LEAD))", "line": 38}
, {"lhs": "Pi*(Pi-1)", "rhs": "theta/gamma*(exp(w-z)-1)+Pi_LEAD*(Pi_LEAD-1)*beta*exp(y(1)+d(1)+sigma*(c-c_LEAD)-y)", "line": 39}
, {"lhs": "d", "rhs": "rhod*d(-1)+sigmad*epsilond", "line": 40}
, {"lhs": "z", "rhs": "rhoz*z(-1)+sigmaz*epsilonz", "line": 41}
]
, "xrefs": {"parameters": [], "endogenous": [], "exogenous": [], "exogenous_deterministic": []}
, "abstract_syntax_tree":[
{ "number":0, "line":37, "AST": {"node_type" : "BinaryOpNode", "op" : "=", "arg1" : {"node_type" : "VariableNode", "name" : "r", "type" : "endogenous", "lag" : 0}, "arg2" : {"node_type" : "VariableNode", "name" : "dynareOBCMaxFunc1", "type" : "modelLocalVariable", "lag" : 0}}}, { "number":1, "line":38, "AST": {"node_type" : "BinaryOpNode", "op" : "=", "arg1" : {"node_type" : "NumConstNode", "value" : 1}, "arg2" : {"node_type" : "BinaryOpNode", "op" : "*", "arg1" : {"node_type" : "VariableNode", "name" : "beta", "type" : "parameter", "lag" : 0}, "arg2" : {"node_type" : "UnaryOpNode", "op" : "exp", "arg" : {"node_type" : "BinaryOpNode", "op" : "+", "arg1" : {"node_type" : "BinaryOpNode", "op" : "-", "arg1" : {"node_type" : "BinaryOpNode", "op" : "+", "arg1" : {"node_type" : "VariableNode", "name" : "d", "type" : "endogenous", "lag" : 1}, "arg2" : {"node_type" : "VariableNode", "name" : "r", "type" : "endogenous", "lag" : 0}}, "arg2" : {"node_type" : "VariableNode", "name" : "pi", "type" : "endogenous", "lag" : 1}}, "arg2" : {"node_type" : "BinaryOpNode", "op" : "*", "arg1" : {"node_type" : "VariableNode", "name" : "sigma", "type" : "parameter", "lag" : 0}, "arg2" : {"node_type" : "BinaryOpNode", "op" : "-", "arg1" : {"node_type" : "VariableNode", "name" : "c", "type" : "modelLocalVariable", "lag" : 0}, "arg2" : {"node_type" : "VariableNode", "name" : "c_LEAD", "type" : "modelLocalVariable", "lag" : 0}}}}}}}}, { "number":2, "line":39, "AST": {"node_type" : "BinaryOpNode", "op" : "=", "arg1" : {"node_type" : "BinaryOpNode", "op" : "*", "arg1" : {"node_type" : "VariableNode", "name" : "Pi", "type" : "modelLocalVariable", "lag" : 0}, "arg2" : {"node_type" : "BinaryOpNode", "op" : "-", "arg1" : {"node_type" : "VariableNode", "name" : "Pi", "type" : "modelLocalVariable", "lag" : 0}, "arg2" : {"node_type" : "NumConstNode", "value" : 1}}}, "arg2" : {"node_type" : "BinaryOpNode", "op" : "+", "arg1" : {"node_type" : "BinaryOpNode", "op" : "*", "arg1" : {"node_type" : "BinaryOpNode", "op" : "/", "arg1" : {"node_type" : "VariableNode", "name" : "theta", "type" : "parameter", "lag" : 0}, "arg2" : {"node_type" : "VariableNode", "name" : "gamma", "type" : "parameter", "lag" : 0}}, "arg2" : {"node_type" : "BinaryOpNode", "op" : "-", "arg1" : {"node_type" : "UnaryOpNode", "op" : "exp", "arg" : {"node_type" : "BinaryOpNode", "op" : "-", "arg1" : {"node_type" : "VariableNode", "name" : "w", "type" : "modelLocalVariable", "lag" : 0}, "arg2" : {"node_type" : "VariableNode", "name" : "z", "type" : "endogenous", "lag" : 0}}}, "arg2" : {"node_type" : "NumConstNode", "value" : 1}}}, "arg2" : {"node_type" : "BinaryOpNode", "op" : "*", "arg1" : {"node_type" : "VariableNode", "name" : "Pi_LEAD", "type" : "modelLocalVariable", "lag" : 0}, "arg2" : {"node_type" : "BinaryOpNode", "op" : "*", "arg1" : {"node_type" : "BinaryOpNode", "op" : "-", "arg1" : {"node_type" : "VariableNode", "name" : "Pi_LEAD", "type" : "modelLocalVariable", "lag" : 0}, "arg2" : {"node_type" : "NumConstNode", "value" : 1}}, "arg2" : {"node_type" : "BinaryOpNode", "op" : "*", "arg1" : {"node_type" : "VariableNode", "name" : "beta", "type" : "parameter", "lag" : 0}, "arg2" : {"node_type" : "UnaryOpNode", "op" : "exp", "arg" : {"node_type" : "BinaryOpNode", "op" : "-", "arg1" : {"node_type" : "BinaryOpNode", "op" : "+", "arg1" : {"node_type" : "VariableNode", "name" : "y", "type" : "endogenous", "lag" : 1}, "arg2" : {"node_type" : "BinaryOpNode", "op" : "+", "arg1" : {"node_type" : "VariableNode", "name" : "d", "type" : "endogenous", "lag" : 1}, "arg2" : {"node_type" : "BinaryOpNode", "op" : "*", "arg1" : {"node_type" : "VariableNode", "name" : "sigma", "type" : "parameter", "lag" : 0}, "arg2" : {"node_type" : "BinaryOpNode", "op" : "-", "arg1" : {"node_type" : "VariableNode", "name" : "c", "type" : "modelLocalVariable", "lag" : 0}, "arg2" : {"node_type" : "VariableNode", "name" : "c_LEAD", "type" : "modelLocalVariable", "lag" : 0}}}}}, "arg2" : {"node_type" : "VariableNode", "name" : "y", "type" : "endogenous", "lag" : 0}}}}}}}}}, { "number":3, "line":40, "AST": {"node_type" : "BinaryOpNode", "op" : "=", "arg1" : {"node_type" : "VariableNode", "name" : "d", "type" : "endogenous", "lag" : 0}, "arg2" : {"node_type" : "BinaryOpNode", "op" : "+", "arg1" : {"node_type" : "BinaryOpNode", "op" : "*", "arg1" : {"node_type" : "VariableNode", "name" : "rhod", "type" : "parameter", "lag" : 0}, "arg2" : {"node_type" : "VariableNode", "name" : "d", "type" : "endogenous", "lag" : -1}}, "arg2" : {"node_type" : "BinaryOpNode", "op" : "*", "arg1" : {"node_type" : "VariableNode", "name" : "sigmad", "type" : "parameter", "lag" : 0}, "arg2" : {"node_type" : "VariableNode", "name" : "epsilond", "type" : "exogenous", "lag" : 0}}}}}, { "number":4, "line":41, "AST": {"node_type" : "BinaryOpNode", "op" : "=", "arg1" : {"node_type" : "VariableNode", "name" : "z", "type" : "endogenous", "lag" : 0}, "arg2" : {"node_type" : "BinaryOpNode", "op" : "+", "arg1" : {"node_type" : "BinaryOpNode", "op" : "*", "arg1" : {"node_type" : "VariableNode", "name" : "rhoz", "type" : "parameter", "lag" : 0}, "arg2" : {"node_type" : "VariableNode", "name" : "z", "type" : "endogenous", "lag" : -1}}, "arg2" : {"node_type" : "BinaryOpNode", "op" : "*", "arg1" : {"node_type" : "VariableNode", "name" : "sigmaz", "type" : "parameter", "lag" : 0}, "arg2" : {"node_type" : "VariableNode", "name" : "epsilonz", "type" : "exogenous", "lag" : 0}}}}}], "variable_mapping":[
], "statements": [{"statementName": "param_init", "name": "beta", "value": "0.997"},
...
```5.xSébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1724Discuss interface for method of Moments in Dynare (GMM, SMM, IRF Matching)2020-08-05T14:38:34ZWilli Mutschlerwilli@mutschler.euDiscuss interface for method of Moments in Dynare (GMM, SMM, IRF Matching)Hey,
I am working on a first draft for a toolbox for moment estimation with GMM, SMM and IRF-Matching (I will start with GMM, then SMM, and deal with IRF-matching later) which will work for perturbation (with pruning) up to third-order. ...Hey,
I am working on a first draft for a toolbox for moment estimation with GMM, SMM and IRF-Matching (I will start with GMM, then SMM, and deal with IRF-matching later) which will work for perturbation (with pruning) up to third-order. I have a couple of questions|proposal for the best interface and call for this and would like your guys take on this.
### Declaring parameters
Here I would simply opt to what we do in a Maximum likelihood estimation and use the same syntax in an `estimated_params` or an `estimated_params_bounds` block:
```
stderr VARIABLE_NAME | corr VARIABLE_NAME_1, VARIABLE_NAME_2 | PARAMETER_NAME, LOWER_BOUND, UPPER_BOUND;
```
### Declaring which moments to use
Here I would propose a block similar to `moment_calibration`, but call it `estimated_moments`:
```
estimated_moments;
y_obs,y_obs; //[unconditional variance]
y_obs,y_obs(-(1:4)); //[some acf]
@#for ilag in -2:2
y_obs,R_obs(@{ilag}); //[ccf]
@#endfor
end;
```
### Invocation
Now the toughest question. How to invoke it? I see two options.
Option A: Add an option to `estimation`, e.g.
```
estimation(moments_estimation='GMM');
```
Option B: Have an own command for this, e.g.:
```
gmm_estimation(OPTIONS);
smm_estimation(OPTIONS);
irf_matching(OPTIONS);
```
which then internally calls a wrapper `dynare_moments_estimation.m` and runs the toolbox.
What do you guys think?5.xhttps://git.dynare.org/Dynare/dynare/-/issues/1725Better interface for mfs option2021-05-04T09:21:20ZSébastien VillemotBetter interface for mfs optionThe `mfs` option of the `model` keyword, that enables an additional optimization in the block decomposition, has an unfriendly interface. It currently accepts an integer, while it would be more natural to use keywords (the challenge is t...The `mfs` option of the `model` keyword, that enables an additional optimization in the block decomposition, has an unfriendly interface. It currently accepts an integer, while it would be more natural to use keywords (the challenge is to choose keywords that reflect the natural ordering of the possible values).
The old integer values would still have to be kept for backward compatibility.
From an implementation point of view, the different values should be stored as an enum class in the preprocessor.5.xSébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1726Option mfs=3 gives wrong result2021-05-07T17:10:32ZSébastien VillemotOption mfs=3 gives wrong resultThe `mfs=3` option of the `model` keyword gives wrong results.
This can for example be verified by adding `mfs=3` to `deterministic/lola_solve_one_boundary.mod`.
Once this is fixed, we should add tests that check that all the possible ...The `mfs=3` option of the `model` keyword gives wrong results.
This can for example be verified by adding `mfs=3` to `deterministic/lola_solve_one_boundary.mod`.
Once this is fixed, we should add tests that check that all the possible values of `mfs` give the same result on a given model.
The option `mfs` is also broken in version 4.6.1. Several other problems with `mfs` have already be fixed in the 4.6 branch, but the present issue is still unfixed.5.xSébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1727Blocks of type "evaluate backward" are not correctly simulated2020-09-23T13:29:57ZSébastien VillemotBlocks of type "evaluate backward" are not correctly simulatedThe testsuite does not currently have a block of this type (which typically appears when there is a purely forward variable).
Tasks:
- [x] Fix the bug in MATLAB mode
- [x] Fix the bug in bytecode
- [x] Add a test in the testsuite
The t...The testsuite does not currently have a block of this type (which typically appears when there is a purely forward variable).
Tasks:
- [x] Fix the bug in MATLAB mode
- [x] Fix the bug in bytecode
- [x] Add a test in the testsuite
The test can simply consist of adding an equation to `block_bytecode/ls2003.mod`, which would read as: `pure_forward = 0.9*pure_forward(+1) + e_pure_forward;`. The `e_pure_forward` variable needs to be shocked, preferably in the end of the simulation sample.5.xSébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/47Uninformative error message when failing to create subdirectory2013-02-21T15:07:52ZSébastien VillemotUninformative error message when failing to create subdirectoryIf MOD file is <filename>.mod, CheckPath.m tries to create a directory called <filename>. If there already exists a file (not a directory) with that name (i.e. the same filename than the MOD file, but without extension), Dynare crashes a...If MOD file is <filename>.mod, CheckPath.m tries to create a directory called <filename>. If there already exists a file (not a directory) with that name (i.e. the same filename than the MOD file, but without extension), Dynare crashes and the error message is not very informative. A more explicit message should be displayed.
See:
http://www.dynare.org/phpBB3/viewtopic.php?f=1&t=2284&p=4507
4.1https://git.dynare.org/Dynare/dynare/-/issues/31identification code2013-02-21T15:08:28ZSébastien Villemotidentification code4.3https://git.dynare.org/Dynare/dynare/-/issues/39Make warnings about unitialized params/vars optional2014-05-05T18:52:01ZSébastien VillemotMake warnings about unitialized params/vars optional4.1https://git.dynare.org/Dynare/dynare/-/issues/3When the steady state computation fail, give the user a possibility to see wh...2023-06-06T07:56:02ZSébastien VillemotWhen the steady state computation fail, give the user a possibility to see where the computation stoppedRequest by Pascal Jacquinot.
Request by Pascal Jacquinot.
4.5https://git.dynare.org/Dynare/dynare/-/issues/21Add partial information2013-02-21T15:08:58ZSébastien VillemotAdd partial informationFor DSGE-net.
For DSGE-net.
4.2https://git.dynare.org/Dynare/dynare/-/issues/1728Improvements to make install rule2021-01-19T09:49:57ZSébastien VillemotImprovements to make install ruleCurrently the preprocessor is installed at two places: `${prefix}/lib/dynare/matlab/preprocessorNN/` and `${prefix}/bin`. The former should probably be made a symlink to the latter.
By the way, we could rename the preprocessor binary to...Currently the preprocessor is installed at two places: `${prefix}/lib/dynare/matlab/preprocessorNN/` and `${prefix}/bin`. The former should probably be made a symlink to the latter.
By the way, we could rename the preprocessor binary to a better name.
Moreover, docs should be installed under `${prefix}/share/doc/dynare/`.5.xSébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1729Suggestion: Provide unstable builds of current major version branch (e.g. 4.6...2020-06-05T16:58:28ZTom HoldenSuggestion: Provide unstable builds of current major version branch (e.g. 4.6 at present) as well as builds of the master branchIt would be good if as well as providing unstable builds of the master branch, unstable builds of the current major version branch were also provided (e.g. the 4.6 branch at present).
While people can of course compile this themselves, ...It would be good if as well as providing unstable builds of the master branch, unstable builds of the current major version branch were also provided (e.g. the 4.6 branch at present).
While people can of course compile this themselves, in practice this is quite onerous.https://git.dynare.org/Dynare/dynare/-/issues/1730Consider saving results using -v7.3 flag2020-11-13T13:08:07ZJohannes PfeiferConsider saving results using -v7.3 flagWe may want to consider saving the results of a Dynare run using the `-v7.3` flag, which available after Matlab R2006b. That would help getting around occasional issues with the 2GB file limit otherwise present.We may want to consider saving the results of a Dynare run using the `-v7.3` flag, which available after Matlab R2006b. That would help getting around occasional issues with the 2GB file limit otherwise present.https://git.dynare.org/Dynare/dynare/-/issues/1731Error in derivatives of perfect foresight models with leaded or lagged exogen...2021-01-13T17:20:08ZMichelJuillardError in derivatives of perfect foresight models with leaded or lagged exogenous variablesA perfect foresight model with leads and lags in exogenous variables produces wrong derivative file ``dynamic_g1.m`` such as:
```
...
g1 = zeros(6, 12);
g1(1,8)=(-params(1));
g1(1,8)=1;
...
```
Here is ``test_0.mod``:
[test_o.mod](/uploa...A perfect foresight model with leads and lags in exogenous variables produces wrong derivative file ``dynamic_g1.m`` such as:
```
...
g1 = zeros(6, 12);
g1(1,8)=(-params(1));
g1(1,8)=1;
...
```
Here is ``test_0.mod``:
[test_o.mod](/uploads/27569e4244c8152ea98b9f1b7b48c21c/test_o.mod)
The issue occurs in 4.6 and in the unstable version.5.xSébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1732Improve debugging options for perfect foresight2021-03-25T16:08:29ZJohannes PfeiferImprove debugging options for perfect foresightWe occasionally have issues with singular Jacobians as in https://forum.dynare.org/t/blanchard-conditions-in-stochastic-and-deterministic-models/15980
It would be good to have a debugging options that would point to the culprit for e.g. ...We occasionally have issues with singular Jacobians as in https://forum.dynare.org/t/blanchard-conditions-in-stochastic-and-deterministic-models/15980
It would be good to have a debugging options that would point to the culprit for e.g. a row or column of zeros. Maybe we could add this to `model_diagnostics`. Two test cases are attached, one for `sim1` and one for `sim1_linear`.
[ADS_NE.mod](/uploads/93a8991fbd2cfd3eface2eb12d9a745f/ADS_NE.mod)
[code_14_march.mod](/uploads/715a4d7c3f3e4485d60919247ccb11c8/code_14_march.mod)Normann RionNormann Rionhttps://git.dynare.org/Dynare/dynare/-/issues/1733Fix identification issues around steady state file2020-06-22T08:35:36ZJohannes PfeiferFix identification issues around steady state fileThe issue popped up in https://forum.dynare.org/t/mode-check-plots-with-flat-lines/16020/13 with the attached files. From what I can see, the issue is parameters being updated in the steady state file. Identification in `4.7` seems unabl...The issue popped up in https://forum.dynare.org/t/mode-check-plots-with-flat-lines/16020/13 with the attached files. From what I can see, the issue is parameters being updated in the steady state file. Identification in `4.7` seems unable to handle this. If I am not mistaken (@rattoma should know better), this is a regression as in the past, we resorted to simulation instead of theoretical derivatives which are now unavailable.
[Model.mod](/uploads/7416c13b9a736cfe8133774f9342b9bd/Model.mod)
[SOEMData.xlsx](/uploads/9121d21da0eed219d98bac015f97d9ec/SOEMData.xlsx)
[Model_steadystate.m](/uploads/914342354a7271f21b18cdb9130e03ad/Model_steadystate.m)5.xhttps://git.dynare.org/Dynare/dynare/-/issues/1734Finish nonlinear prior restrictions2021-08-17T19:04:34ZJohannes PfeiferFinish nonlinear prior restrictionsSee https://git.dynare.org/Dynare/dynare/-/commit/0efcef8f20c549c1484ce56c8986bc4c24d5292aSee https://git.dynare.org/Dynare/dynare/-/commit/0efcef8f20c549c1484ce56c8986bc4c24d5292a5.xhttps://git.dynare.org/Dynare/dynare/-/issues/1735Change treatment of jnl-file of k_order_perturbation2020-10-16T15:27:19ZJohannes PfeiferChange treatment of jnl-file of k_order_perturbationDisable the writing of the file to the hard-disk by default. Implement an additional input argument so that options_.debug triggers writing this file.Disable the writing of the file to the hard-disk by default. Implement an additional input argument so that options_.debug triggers writing this file.5.xSébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1736Display of simulated moments: introduce cutoff for 0 variables2020-09-03T14:45:13ZJohannes PfeiferDisplay of simulated moments: introduce cutoff for 0 variablesSee the problem in https://forum.dynare.org/t/question-on-ramsey-example-mod/16113See the problem in https://forum.dynare.org/t/question-on-ramsey-example-mod/16113https://git.dynare.org/Dynare/dynare/-/issues/26Nonlinear estimation2013-02-21T15:08:59ZSébastien VillemotNonlinear estimationhttps://git.dynare.org/Dynare/dynare/-/issues/15Add order 3 derivatives in USE_DLL mode (for k-order)2023-06-06T07:56:03ZSébastien VillemotAdd order 3 derivatives in USE_DLL mode (for k-order)4.1https://git.dynare.org/Dynare/dynare/-/issues/291bugs related to auxiliary variables for lagged exogenous variables2013-02-21T14:54:09ZSébastien Villemotbugs related to auxiliary variables for lagged exogenous variablesIn ./tests/auxiliary_variables/test2.mod, the preprocessor fails to create auxiliary variable for lagged exogenous one.
When that is fixed, it will be necessary to check that the derivatives of the definition of the auxiliary variable i...In ./tests/auxiliary_variables/test2.mod, the preprocessor fails to create auxiliary variable for lagged exogenous one.
When that is fixed, it will be necessary to check that the derivatives of the definition of the auxiliary variable is correctly added to test2_static.m
When test2.mod runs correctly, please add it to ./tests/Makefile.am
https://git.dynare.org/Dynare/dynare/-/issues/161Under Octave, gamma priors fail when variance is too small2023-04-10T15:04:11ZSébastien VillemotUnder Octave, gamma priors fail when variance is too smallThis is reproducible on file RBC_Est.mod distributed with the user guide, which has two gamma priors.
The problem is related to a bug in Octave:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=493869
It may also affect beta priors whi...This is reproducible on file RBC_Est.mod distributed with the user guide, which has two gamma priors.
The problem is related to a bug in Octave:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=493869
It may also affect beta priors which rely on gaminv() function.
A minimal solution would be to give a sensible error message to the user, so that he knows he has to increase the variance.
A better solution would be to reimplement gaminv.
4.3https://git.dynare.org/Dynare/dynare/-/issues/205add interface and documentation to model_diagnostics2013-02-21T15:00:01ZSébastien Villemotadd interface and documentation to model_diagnosticshttps://git.dynare.org/Dynare/dynare/-/issues/82prior_analysis and posterior_analysis commands broken2013-02-21T15:07:22ZSébastien Villemotprior_analysis and posterior_analysis commands brokenThe prior_analysis and posterior_analysis commands are broken: the calling sequence generated by the preprocessor doesn't match the calling sequence of the MATLAB function...
Their documentation in the ref. manual also needs updating.
The prior_analysis and posterior_analysis commands are broken: the calling sequence generated by the preprocessor doesn't match the calling sequence of the MATLAB function...
Their documentation in the ref. manual also needs updating.
https://git.dynare.org/Dynare/dynare/-/issues/206MS-SBVAR: update irf, forecast and variance decomposition mex2013-02-21T15:00:01ZSébastien VillemotMS-SBVAR: update irf, forecast and variance decomposition mex4.3https://git.dynare.org/Dynare/dynare/-/issues/254UnivariateSpectralDensity.m must be implemented to preprocessor and documented.2016-03-23T13:22:33ZSébastien VillemotUnivariateSpectralDensity.m must be implemented to preprocessor and documented.The SpectralDensity option of stoch_simul is neither documented nor implemented in the preprocessor.
It could be implemented as an option of stoch_simul().
Alternatively, we could use a preprocessor command along the lines
spectral_de...The SpectralDensity option of stoch_simul is neither documented nor implemented in the preprocessor.
It could be implemented as an option of stoch_simul().
Alternatively, we could use a preprocessor command along the lines
spectral_density_decomposition(plot=integer,cutoff=number,step_length= number);
which translates into
options_.SpectralDensity.trigger = 1;
options_.SpectralDensity.plot = integer;
options_.SpectralDensity.cutoff = number;
options_.SpectralDensity.sdl = number;
4.5Johannes PfeiferJohannes Pfeiferhttps://git.dynare.org/Dynare/dynare/-/issues/1737Provide disclyap_fast.m as a mex-file2020-07-30T15:13:17ZJohannes PfeiferProvide disclyap_fast.m as a mex-filePreliminary testing with the Matlab Coder in C++ indicated significant speed gains (factor 3 for a 54 by 54 matrix). Useful as there may be thousands of calls in the context of GMM.
We currently do not use the `chol`-check anywhere. So m...Preliminary testing with the Matlab Coder in C++ indicated significant speed gains (factor 3 for a 54 by 54 matrix). Useful as there may be thousands of calls in the context of GMM.
We currently do not use the `chol`-check anywhere. So may leave it out and only code the main loop.5.xSébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1739Investigate parallel issues2020-11-13T10:56:40ZJohannes PfeiferInvestigate parallel issuesSee https://forum.dynare.org/t/parallel-estimation-mcmc-diagnostics-issue/16228/4See https://forum.dynare.org/t/parallel-estimation-mcmc-diagnostics-issue/16228/45.xhttps://git.dynare.org/Dynare/dynare/-/issues/16Reindent all source code (C++, M-files)2023-06-06T07:56:03ZSébastien VillemotReindent all source code (C++, M-files)4.1https://git.dynare.org/Dynare/dynare/-/issues/220add a homotopy mode for simul() and for steady with endval2016-06-01T12:23:27ZSébastien Villemotadd a homotopy mode for simul() and for steady with endvalCurrently homotopy only exist for steady with initval.
These features would be useful for GIMF at the IMF.
Currently homotopy only exist for steady with initval.
These features would be useful for GIMF at the IMF.
https://git.dynare.org/Dynare/dynare/-/issues/27Finite element solution method2016-06-10T13:10:09ZSébastien VillemotFinite element solution methodFor the IMF.
For the IMF.
https://git.dynare.org/Dynare/dynare/-/issues/85Estimation is not deterministic: a seed should be explictly given to random n...2013-04-10T13:42:53ZSébastien VillemotEstimation is not deterministic: a seed should be explictly given to random number generatorCurrently MOD files doing estimation are not deterministic: different runs of the same MOD files don't give the same results, since the seed for random number generator is not the same accross runs.
The easy way to fix that is to set th...Currently MOD files doing estimation are not deterministic: different runs of the same MOD files don't give the same results, since the seed for random number generator is not the same accross runs.
The easy way to fix that is to set the seed in dynare.m. There would be a default value for the seed, or it could be changed through an option/command.
A more subtle way would be to have a seed reset at the top of every major function (estimation, stoch_simul).
More details on the following wiki page:
http://www.dynare.org/DynareWiki/FixingRandomseed
We need to decide which way is the best.
https://git.dynare.org/Dynare/dynare/-/issues/152Stochastic Extended path2013-06-10T12:35:45ZSébastien VillemotStochastic Extended pathSome code already exists, it is mainly a matter of creating an interface.
Some code already exists, it is mainly a matter of creating an interface.
4.4Stéphane Adjemianstepan@adjemian.euStéphane Adjemianstepan@adjemian.euhttps://git.dynare.org/Dynare/dynare/-/issues/208MS-SBVAR: clear up licensing for Tao's code2013-02-21T15:00:01ZSébastien VillemotMS-SBVAR: clear up licensing for Tao's codematlab/ms-sbvar/cstz
matlab/ms-sbvar/identification
remind Dan to remove:
ms-sbvar/switch_dw/mixture_models
from 1.1 branch
matlab/ms-sbvar/cstz
matlab/ms-sbvar/identification
remind Dan to remove:
ms-sbvar/switch_dw/mixture_models
from 1.1 branch
4.3https://git.dynare.org/Dynare/dynare/-/issues/185parallel computing: default missing for option NodeWeight2013-02-21T15:00:42ZSébastien Villemotparallel computing: default missing for option NodeWeight./matlab/parallel/InitializeComputationalEnvironment.m crashes when no value is indicated for node weights in Dynare configuration file
./matlab/parallel/InitializeComputationalEnvironment.m crashes when no value is indicated for node weights in Dynare configuration file
4.3https://git.dynare.org/Dynare/dynare/-/issues/324Document kalman_algo and kalman_tol in manual2013-05-18T17:49:45ZJohannes PfeiferDocument kalman_algo and kalman_tol in manualhttps://git.dynare.org/Dynare/dynare/-/issues/186normalization is buggy in preprocessor for expressions of the form a^x2013-02-21T15:00:42ZSébastien Villemotnormalization is buggy in preprocessor for expressions of the form a^xIn ExprNode.cc, in the function BinaryOpNode::normalizeEquation, the case of an expression of the form a^x (power expression with endogenous in the exponent but not under the exponent) is not handled. This make the preprocessor exit sile...In ExprNode.cc, in the function BinaryOpNode::normalizeEquation, the case of an expression of the form a^x (power expression with endogenous in the exponent but not under the exponent) is not handled. This make the preprocessor exit silently with an error.
https://git.dynare.org/Dynare/dynare/-/issues/75Fix command "calib" or remove it2013-02-21T15:07:22ZSébastien VillemotFix command "calib" or remove itThe "calib" command (and its associated command "calib_var") are recognized by the preprocessor, but are probably not working, and are not documented in the reference manual.
This should be fixed, or the commands be removed.
The "calib" command (and its associated command "calib_var") are recognized by the preprocessor, but are probably not working, and are not documented in the reference manual.
This should be fixed, or the commands be removed.
4.2https://git.dynare.org/Dynare/dynare/-/issues/14Create a database of old and new example MOD files2023-06-06T07:56:03ZSébastien VillemotCreate a database of old and new example MOD filesFor DSGE-net.
Some thoughts on this are on the following page:
[http://www.dynare.org/DynareWiki/ExamplesDatabase]
The idea is to have a new "examples/" subdirectory in the SVN, with a bunch of MOD files running with the current versi...For DSGE-net.
Some thoughts on this are on the following page:
[http://www.dynare.org/DynareWiki/ExamplesDatabase]
The idea is to have a new "examples/" subdirectory in the SVN, with a bunch of MOD files running with the current version of Dynare.
4.3https://git.dynare.org/Dynare/dynare/-/issues/228document functions for which we have changed the calling sequence in unstable2013-02-21T14:59:20ZSébastien Villemotdocument functions for which we have changed the calling sequence in unstableThe changes that we have made to several functions in unstable will break the code of people who are calling these functions directly.
This will make a big mess when we release 4.3
We need to document those changes on the wiki
The changes that we have made to several functions in unstable will break the code of people who are calling these functions directly.
This will make a big mess when we release 4.3
We need to document those changes on the wiki
4.3https://git.dynare.org/Dynare/dynare/-/issues/134Reorganize M-structures used for storing block decomposition information2013-02-21T15:05:28ZSébastien VillemotReorganize M-structures used for storing block decomposition informationSee the following page for the current state:
http://www.dynare.org/DynareWiki/GlobalVariableBD
See the following page for the current state:
http://www.dynare.org/DynareWiki/GlobalVariableBD
4.3https://git.dynare.org/Dynare/dynare/-/issues/242Faster solvers for large scale Sylvester and Lyapunov equations2013-02-21T14:59:20ZSébastien VillemotFaster solvers for large scale Sylvester and Lyapunov equationsOn big models, a fixed point algorithm works faster for these equations that the current Dynare implementations.
These solvers need to be integrated into Dynare, with options to activate them.
On big models, a fixed point algorithm works faster for these equations that the current Dynare implementations.
These solvers need to be integrated into Dynare, with options to activate them.
4.3https://git.dynare.org/Dynare/dynare/-/issues/193add new sensitivity options2013-02-21T15:00:43ZSébastien Villemotadd new sensitivity optionspvalue_ks (default 0.001) threshold pvalue for significant Kolmogorov
Smirnov test (i.e. plot parameters with pvalue<pvalue_ks)
pvalue_corr (default 0.001) threshold pvalue for significant correlation in filtered samples (i.e. plot biv...pvalue_ks (default 0.001) threshold pvalue for significant Kolmogorov
Smirnov test (i.e. plot parameters with pvalue<pvalue_ks)
pvalue_corr (default 0.001) threshold pvalue for significant correlation in filtered samples (i.e. plot bivariate samples when pvalue<pvalue_corr)
4.3https://git.dynare.org/Dynare/dynare/-/issues/1740Investigate MS-BVAR problems on Windows2020-08-27T08:30:31ZJohannes PfeiferInvestigate MS-BVAR problems on WindowsThe `test_ms_variances.mod` fails in `4.6.1` with
```
Unable to create the starting point data file est_csminwel_test_ms_variances.out in csminwel.c!
Error in MS-SBVAR MEX file.
```The `test_ms_variances.mod` fails in `4.6.1` with
```
Unable to create the starting point data file est_csminwel_test_ms_variances.out in csminwel.c!
Error in MS-SBVAR MEX file.
```5.xhttps://git.dynare.org/Dynare/dynare/-/issues/1741Linear algorithm for perfect foresight is buggy when there are lagged exogeno...2020-09-04T14:07:56ZMichelJuillardLinear algorithm for perfect foresight is buggy when there are lagged exogenous variables in the modelThe algorithm implemented in ``sim1_linear.m`` is wrong when there are lagged exogenous variables because it relies on the derivatives of exogenous variables that are themselves wrong because of the issue reported in #1731The algorithm implemented in ``sim1_linear.m`` is wrong when there are lagged exogenous variables because it relies on the derivatives of exogenous variables that are themselves wrong because of the issue reported in #17315.xhttps://git.dynare.org/Dynare/dynare/-/issues/1742Fix reported problems in extended path2020-10-16T15:27:19ZJohannes PfeiferFix reported problems in extended pathSee https://forum.dynare.org/t/extended-path-bytecode/16577See https://forum.dynare.org/t/extended-path-bytecode/165775.xSébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/221add support for Excel files in Octave2013-02-21T14:59:19ZSébastien Villemotadd support for Excel files in OctaveThe xlsread function is in the octave-io Forge package. The package seems to need octave-java in turn.
The xlsread function is in the octave-io Forge package. The package seems to need octave-java in turn.
4.3https://git.dynare.org/Dynare/dynare/-/issues/342Better documentation of parser error messages (line and column numbers)2013-05-31T17:28:42ZJohannes PfeiferBetter documentation of parser error messages (line and column numbers)Currently, we have error messages like this:
`ERROR: final.mod:201.1-3: syntax error, unexpected NAME`
The reason usually is that a semicolon is missing in the previous line, but people only look in the current line. If the error starts...Currently, we have error messages like this:
`ERROR: final.mod:201.1-3: syntax error, unexpected NAME`
The reason usually is that a semicolon is missing in the previous line, but people only look in the current line. If the error starts at 1, we might want to change the error message to
`ERROR: final.mod:201.1-3: syntax error, unexpected NAME. Please also check whether the previous line was terminated correctly with a semicolon.`
Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/-/issues/258Make flexible the location of user configuration file with global options2013-02-21T14:56:04ZSébastien VillemotMake flexible the location of user configuration file with global optionsCommit 41def7caaaabc70b659ea528a315122ec53366ae introduced the possibility to have a user config file executed after global_initialization.m. The location of this file is currently hard-coded.
The user should be able to choose the locat...Commit 41def7caaaabc70b659ea528a315122ec53366ae introduced the possibility to have a user config file executed after global_initialization.m. The location of this file is currently hard-coded.
The user should be able to choose the location of this file. The interface would be a new stanza/field in the already-existing ~/.dynare config file.
Other such "hook" files could be added at other places in the future.
4.3https://git.dynare.org/Dynare/dynare/-/issues/1743Start diary earlier to include input arguments and Dynare version2021-01-06T16:32:28ZJohannes PfeiferStart diary earlier to include input arguments and Dynare versionCurrently, the diary only starts after the version and the input arguments have been printed. That way, important information is missing when calling a mod-file with command-line switches.Currently, the diary only starts after the version and the input arguments have been printed. That way, important information is missing when calling a mod-file with command-line switches.5.xSébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1744endogenous_prior with missing observation2020-11-13T12:20:25Znaivejendogenous_prior with missing observationHi dynare team,
(Sorry if I posted in the wrong place, I just realised that gitlab seems for developers only)
In v4.6.2, endogenous_prior cannot work with missing observation, but this is not pointed out in the Reference Manual.
I ...Hi dynare team,
(Sorry if I posted in the wrong place, I just realised that gitlab seems for developers only)
In v4.6.2, endogenous_prior cannot work with missing observation, but this is not pointed out in the Reference Manual.
I suppose a naive way to fix this is to exclude any period or variables with missing observations in the calculation of statistics.
Currently, I modified the code as follows but not sure if this is statistically correct. Is there a better way to make this work?
```matlab
Ydemean(:,j)=Y(:,j)-mean(Y(:,j),'omitnan');
Fhat=std(Ydemean,1,'omitnan').^2';
for j=1:n
Ydemean(:,j)=Y(:,j)-mean(Y(:,j),'omitnan');
end
Fhat=std(Ydemean,1,'omitnan').^2';%Fhat=diag(Ydemean'*Ydemean)/Tsamp;
Sgood=find(~any(isnan(Y),2));
Tgood=length(Sgood);
hmat=zeros(n,Tgood);
% we need ht, where t=1,...,T
for t=1:Tgood
hmat(:,t)=diag(Ydemean(Sgood(t),:)'*Ydemean(Sgood(t),:))-Fhat;
end
% To calculate Shat we need C0, C1 and C2
for t=1:Tgood
C0=C0+1/Tgood*hmat(:,t)*hmat(:,t)';
end
for t=2:Tgood
C1=C1+1/(Tgood-1)*hmat(:,t)*hmat(:,t-1)';
end
for t=3:Tgood
C2=C2+1/(Tgood-2)*hmat(:,t)*hmat(:,t-2)';
end
```5.xhttps://git.dynare.org/Dynare/dynare/-/issues/241Add a preprocessor option to suppress the log file2013-02-21T14:59:20ZSébastien VillemotAdd a preprocessor option to suppress the log fileThis should be an option to the "dynare" command itself, like "clearall".
Requested by Johannes Pfeifer.
May also be useful to avoid some crashes, see:
http://www.dynare.org/phpBB3/viewtopic.php?f=1&t=3594
This should be an option to the "dynare" command itself, like "clearall".
Requested by Johannes Pfeifer.
May also be useful to avoid some crashes, see:
http://www.dynare.org/phpBB3/viewtopic.php?f=1&t=3594
4.3https://git.dynare.org/Dynare/dynare/-/issues/169recent change to oo_.steady_state breaks estimation2013-02-21T15:01:28ZSébastien Villemotrecent change to oo_.steady_state breaks estimationThe commit 9f7cfaec007f0d4aa805047823c3fb4ce020d6b9 has broken estimation, in particular of fs2000.mod.
The mode optimization fails:
POSTERIOR KERNEL OPTIMIZATION PROBLEM!
(minus) the hessian matrix at the "mode" is not positive defin...The commit 9f7cfaec007f0d4aa805047823c3fb4ce020d6b9 has broken estimation, in particular of fs2000.mod.
The mode optimization fails:
POSTERIOR KERNEL OPTIMIZATION PROBLEM!
(minus) the hessian matrix at the "mode" is not positive definite!
=> posterior variance of the estimated parameters are not positive.
You should try to change the initial values of the parameters using
the estimated_params_init block, or use another optimization routine.
warning: The results below are most likely wrong!
Commenting out line 123 of resol.m fixes the problem:
oo_.steady_state = steady_state;
https://git.dynare.org/Dynare/dynare/-/issues/194Clarify Slicot licensing terms2013-02-21T15:00:43ZSébastien VillemotClarify Slicot licensing termsCurrently Dynare (unstable) distributes its own copy of libslicot (www.slicot.org). It is used in the Kalman Steady State DLL (at least).
As of July 15, 2011, it is no longer possible to download libslicot from its website. It says that...Currently Dynare (unstable) distributes its own copy of libslicot (www.slicot.org). It is used in the Kalman Steady State DLL (at least).
As of July 15, 2011, it is no longer possible to download libslicot from its website. It says that the library is currently undergoing a relicensing.
We need to clarify this with Slicot authors to see if we can continue distributing it with Dynare.
https://git.dynare.org/Dynare/dynare/-/issues/73The macroprocessor fails when the file ends with @#endif or @#endfor without ...2013-02-21T15:07:22ZSébastien VillemotThe macroprocessor fails when the file ends with @#endif or @#endfor without a new line at the EOF4.2https://git.dynare.org/Dynare/dynare/-/issues/238Add interface for convergence tolerance criterions (and maybe rename internal...2016-06-10T12:47:35ZSébastien VillemotAdd interface for convergence tolerance criterions (and maybe rename internal options)Currently we have 4 options for convergence criterions:
- options_.dynatol.f
- options_.dynatol.x
- options_.solve_tolf
- options_.solve_tolx
The first two are for the deterministic solution, the last two for the steady state.
We shoul...Currently we have 4 options for convergence criterions:
- options_.dynatol.f
- options_.dynatol.x
- options_.solve_tolf
- options_.solve_tolx
The first two are for the deterministic solution, the last two for the steady state.
We should add a preprocessor interface to these options.
Also, it would make sense to rename them for more homogeneity. I suggest the following renaming scheme:
- options_.dynatol.f => options_.simul_tolf
- options_.dynatol.x => options_.simul_tolx
- options_.solve_tolf => options_.steady_tolf
- options_.solve_tolx => options_.steady_tolx
4.5https://git.dynare.org/Dynare/dynare/-/issues/284check values returned by likelihood functions and their use in calling functions2015-05-09T12:27:03ZSébastien Villemotcheck values returned by likelihood functions and their use in calling functionscheck value of fval when returned by DsgeVarLikelihood.m and non_linear_dsge_likelihood.m.
Check the use of fval and exit_flag in the functions calling dsge_likelihood.m, DsgeVarLikelihood.m and non_linear_dsge_likelihood.m
check value of fval when returned by DsgeVarLikelihood.m and non_linear_dsge_likelihood.m.
Check the use of fval and exit_flag in the functions calling dsge_likelihood.m, DsgeVarLikelihood.m and non_linear_dsge_likelihood.m
4.5https://git.dynare.org/Dynare/dynare/-/issues/37Automatic generation of _steadystate.m file2019-12-05T15:58:38ZSébastien VillemotAutomatic generation of _steadystate.m fileThe idea is that the preprocessor would create a _steadystate.m file, using the (symbolic) initializations given in the initval block.
This would be particularly useful for estimating models for which the analytical form of the steady s...The idea is that the preprocessor would create a _steadystate.m file, using the (symbolic) initializations given in the initval block.
This would be particularly useful for estimating models for which the analytical form of the steady state is known.
4.2https://git.dynare.org/Dynare/dynare/-/issues/218Remove set_stationary_variables_list.m2013-02-21T14:59:19ZSébastien VillemotRemove set_stationary_variables_list.mThis function is basically useless now that unit_root_vars has been removed.
It is however still called from several places.
This function is basically useless now that unit_root_vars has been removed.
It is however still called from several places.
4.3https://git.dynare.org/Dynare/dynare/-/issues/307more flexible mechanism for having different equations between the static and...2013-04-11T15:11:42ZSébastien Villemotmore flexible mechanism for having different equations between the static and the dynamic modelCurrently, if one wants to tell Dynare that an equation has a different form between the static and the dynamic model (for example when the modeler wants to use his knowledge about the steady state to simplify the steady state computatio...Currently, if one wants to tell Dynare that an equation has a different form between the static and the dynamic model (for example when the modeler wants to use his knowledge about the steady state to simplify the steady state computation), then the possibilities are:
- write a steady state file (heavy)
- write a `steady_state_model` block (one has to rewrite _all_ the equations in that block)
- use a dirty hack with the macroprocessor and run Dynare two times
The `steady_state_model` is good for small models. But for big models where you want to change only a few equations, only the third option of this list is reasonable, and it is dirty.
The proposal is to introduce two equation tags which will have a special meaning to the preprocessor:
- `[static]`: this equation belongs to the static model, but not to the dynamic model
- `[dynamic]`: the opposite
This would offer a very flexible way to change only a few equations during the steady state computations.
This is a request by @FerhatMihoubi for GPM and possibly GIMF.
4.4Sébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1Don't fail when initializing an unknown variable in initval2023-06-06T07:56:02ZSébastien VillemotDon't fail when initializing an unknown variable in initvalThis is a request from Pascal Jacquinot, in order to facilitate the development phase of a model.
This is a request from Pascal Jacquinot, in order to facilitate the development phase of a model.
4.5Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/-/issues/2Be more flexible about variable declarations2023-06-06T07:56:02ZSébastien VillemotBe more flexible about variable declarationsRequest by Pascal Jacquinot, in order to facilitate model development.
If I understand correctly, he would like that Dynare simply ignores endogenous/exogenous variables that are never used in the model (instead of complaining about num...Request by Pascal Jacquinot, in order to facilitate model development.
If I understand correctly, he would like that Dynare simply ignores endogenous/exogenous variables that are never used in the model (instead of complaining about number of variables ≠ number of equations)
4.5Houtan BastaniHoutan Bastanihttps://git.dynare.org/Dynare/dynare/-/issues/5Integrate algorithm for TBC by Holden and Paetz (2012)2023-06-06T07:56:02ZSébastien VillemotIntegrate algorithm for TBC by Holden and Paetz (2012)Request by Stéphane Moyen.
Paper at http://www.tholden.org/files/zlb.pdf?attredirects=0
Apparently the code has been posted on the Dynare forums. It's therefore a matter of dealing with copyright/license issues and integrating it.
Request by Stéphane Moyen.
Paper at http://www.tholden.org/files/zlb.pdf?attredirects=0
Apparently the code has been posted on the Dynare forums. It's therefore a matter of dealing with copyright/license issues and integrating it.
4.4https://git.dynare.org/Dynare/dynare/-/issues/8Benchmarks with various BLAS libraries2023-06-06T07:56:03ZSébastien VillemotBenchmarks with various BLAS librariesWe should test the 5 options:
- reference BLAS
- generic ATLAS
- customized ATLAS
- generic OpenBLAS
- customized OpenBLAS
The tests should be performed on a few hardware and on a few interesting models. The results should be put on a W...We should test the 5 options:
- reference BLAS
- generic ATLAS
- customized ATLAS
- generic OpenBLAS
- customized OpenBLAS
The tests should be performed on a few hardware and on a few interesting models. The results should be put on a Wiki page.
https://git.dynare.org/Dynare/dynare/-/issues/9Improve wiki page on coding guidelines2023-06-06T07:56:03ZSébastien VillemotImprove wiki page on coding guidelineshttp://www.dynare.org/DynareWiki/CodingStandards
We could add things like:
- no commented code (git already stores the history)
- no mexprintf
- use asserts
- write short functions
- pass-by-reference whenever possible
http://www.dynare.org/DynareWiki/CodingStandards
We could add things like:
- no commented code (git already stores the history)
- no mexprintf
- use asserts
- write short functions
- pass-by-reference whenever possible
https://git.dynare.org/Dynare/dynare/-/issues/10Retrieve the source code for PDFs in user guide2023-06-06T07:56:03ZSébastien VillemotRetrieve the source code for PDFs in user guideWe should contact Tommaso about that issue.
We should contact Tommaso about that issue.
https://git.dynare.org/Dynare/dynare/-/issues/11Allow for the possibility of using the bytecode representation of the model f...2023-06-06T07:56:03ZSébastien VillemotAllow for the possibility of using the bytecode representation of the model for any task4.2