Skip to content
Snippets Groups Projects
  1. Nov 28, 2024
  2. Nov 20, 2024
  3. May 16, 2024
    • Sébastien Villemot's avatar
      Refactor output for complementarity conditions · dc1ec15f
      Sébastien Villemot authored
      The vector of lower and upper bounds is now provided by
      {static,dynamic}_complementarity_conditions.m (which accepts parameters as an
      argument, in preparation for the possibility of having parameters in
      complementarity conditions).
      
      The index that denotes the reordering of equation residuals (so that the
      residual of an equation appears at the index of the endogenous appearing in the
      complementarity condition) is now in “M_.{static,dynamic}_mcp_equations_reordering”.
      
      Constraints declared through the ramsey_constraints block are also incorporated
      in this new interface (and therefore “M_.ramsey_model_constraints” has been
      removed).
      dc1ec15f
  4. Apr 12, 2024
  5. Dec 01, 2023
  6. Nov 30, 2023
  7. Nov 14, 2023
  8. Sep 12, 2023
  9. Mar 29, 2023
  10. Mar 28, 2023
    • Sébastien Villemot's avatar
      New fields: M_.ramsey_orig_{eq,endo}_nbr · cecc9aad
      Sébastien Villemot authored
      – M_.ramsey_orig_endo_nbr is the number of endogenous variables in the model
        present just before adding the Lagrange multipliers and computing the Ramsey
        FOC; it is by construction equal to the number of equations that will be added
        by the process of computing the FOCs
      – M_.ramsey_orig_eq_nbr is the number of equations in the model present just
        before adding the Lagrange multipliers and computing the Ramsey FOC; it is by
        construction equal to the number of Lagrange multipliers that will be added by
        the process of computing the FOCs
      
      Note that both may be greater than the number of endogenous/equations written
      by the user, because some auxiliary variables may have already been added.
      
      Also note that the number of policy instruments in M_.ramsey_orig_endo_nbr −
      M_.ramsey_orig_eq_nbr
      
      As a consequence, drop M_.ramsey_eq_nbr (which was actually equal to
      M_.ramsey_orig_endo_nbr) and M_.orig_eq_nbr (which was actually equal to
      M_.ramsey_orig_eq_nbr, but would also be set in the non-Ramsey case). The new
      names are clearer.
      cecc9aad
    • Sébastien Villemot's avatar
      Make ModFileStructure a struct · 0d41e0ce
      Sébastien Villemot authored
      0d41e0ce
    • Sébastien Villemot's avatar
      Ramsey: write derivatives of static model w.r.t. Lagrange multipliers in a new file · 0169240f
      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
      0169240f
  11. Sep 20, 2022
    • Sébastien Villemot's avatar
      Refactor OptionsList class · 7f1b4fcc
      Sébastien Villemot authored
      In particular, use a std::variant to store the values of options. This ensures
      that a given option name can have only one value (previously, for a given
      option name, it was possible to store several values as long as they were of
      different types).
      7f1b4fcc
  12. May 18, 2022
    • Sébastien Villemot's avatar
      JSON output: fix handling of vector value options · 3516894a
      Sébastien Villemot authored
      The vectors were previously stored as strings internally, which would not
      necessarily contain the commas which are required in JSON (but not in
      MATLAB/Octave). The fix consists in internally storing those options as
      std::vector.
      
      Closes: #96
      3516894a
    • Sébastien Villemot's avatar
      No longer delete move constructor/assignment operator · 27952078
      Sébastien Villemot authored
      We follow the advice given by Josuttis in his book about move semantics.
      
      Deleting those member fuctions can be a bug if we want to allow copy semantics,
      because overload resolution will no longer fallback to the copy
      constructor/assignment operator when given an rvalue.
      
      In particular, this explain why it was not possible to delete the move
      assignment operator of the StaticModel class.
      27952078
  13. May 17, 2022
  14. Apr 21, 2022
  15. Apr 11, 2022
  16. Jul 16, 2021
  17. Jul 13, 2021
  18. Jul 09, 2021
  19. Jun 09, 2021
  20. Jun 04, 2021
  21. Apr 19, 2021
  22. Feb 22, 2021
  23. Jan 08, 2021
  24. Dec 12, 2020
  25. Nov 26, 2020
  26. Jul 10, 2020
  27. Feb 04, 2020
  28. Dec 20, 2019
  29. Dec 12, 2019
  30. Oct 24, 2019
  31. Jul 05, 2019
  32. Apr 16, 2019
  33. Jan 15, 2019
  34. Jan 09, 2019
  35. Dec 11, 2018
    • Sébastien Villemot's avatar
      Make histval compatible with diff operator · 38152c34
      Sébastien Villemot authored
      The idea is to make use of the dynamic_set_auxiliary_dseries.m file to generate
      the initial conditions for all auxiliary variables, including the diffs.
      
      Also remove the check done by the preprocessor for the lags in histval, since
      it does not work correctly with the diff operator.
      38152c34
Loading