From a69c65361c804f515dc524712d91a2eb99b01651 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org>
Date: Thu, 20 Dec 2018 14:48:41 +0100
Subject: [PATCH] Fix ramsey_policy with histval

Since 38152c34a478e2ecc1094d3d210dd4cf12a7edd4, the M_.endo_histval variable is
generated via dynamic_set_auxiliary_dseries.m. But the latter file does not
handle auxiliary variables for Lagrange multiplier. We therefore now set them
by hand (at an initial value of zero).
---
 src/NumericalInitialization.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/NumericalInitialization.cc b/src/NumericalInitialization.cc
index b7298cbe..4d1dc8b5 100644
--- a/src/NumericalInitialization.cc
+++ b/src/NumericalInitialization.cc
@@ -358,10 +358,10 @@ HistValStatement::writeOutput(ostream &output, const string &basename, bool mini
   output << "%" << endl
          << "% HISTVAL instructions" << endl
          << "%" << endl
-         << "M_.histval_dseries = dseries(zeros(M_.orig_maximum_lag_with_diffs_expanded, M_.orig_endo_nbr"
+         << "M_.histval_dseries = dseries(zeros(M_.orig_maximum_lag_with_diffs_expanded, M_.orig_endo_nbr+sum([M_.aux_vars.type]==6)"
          << (symbol_table.exo_nbr() > 0 ? "+M_.exo_nbr" : "")
          << (symbol_table.exo_det_nbr() > 0 ? "+M_.exo_det_nbr" : "")
-         << "), dates(sprintf('%dY', -M_.orig_maximum_lag_with_diffs_expanded+1)), [ M_.endo_names(1:M_.orig_endo_nbr); "
+         << "), dates(sprintf('%dY', -M_.orig_maximum_lag_with_diffs_expanded+1)), [ M_.endo_names(1:M_.orig_endo_nbr); M_.endo_names([M_.aux_vars(find([M_.aux_vars.type]==6)).endo_index]); "
          << (symbol_table.exo_nbr() > 0 ? "M_.exo_names; " : "")
          << (symbol_table.exo_det_nbr() > 0 ? "M_.exo_det_names; " : "")
          << "]);" << endl;
-- 
GitLab