Preprocessor update

🐛 Incorrect stochastic transformation with endo lead ⩾ 2 or exo lead ⩾ 1 in
  external functions
– New solution for solving the Ramsey steady state with Lagrange multipliers
  with lead or lag ⩾ 2. Now generates a dedicated file for derivatives of static
  model w.r.t. multipliers using chain rule derivation (#633, #1119, #1133)
– 🐛 Incorrect cost table used when computing temporary terms in static model
  with “use_dll”
– 🐛 Crash when writing the (static) set_auxiliary_variables file in the
  presence of external functions
silicon
Sébastien Villemot 2023-03-28 14:49:28 +02:00
parent 9fa64ee0d4
commit 69d0aa670b
No known key found for this signature in database
GPG Key ID: 2CECE9350ECEBE4A
2 changed files with 4 additions and 6 deletions

View File

@ -153,16 +153,14 @@ end
% set multipliers and auxiliary variables that
% depends on multipliers to 0 to compute residuals
if (options_.bytecode)
[res, junk] = bytecode('static', xx, exo_ss, params, 'evaluate');
fJ = junk.g1;
res = bytecode('static', xx, exo_ss, params, 'evaluate');
else
[res, T_order, T] = feval([fname '.sparse.static_resid'], xx, exo_ss, params);
fJ = feval([fname '.sparse.static_g1'], xx, exo_ss, params, M.static_g1_sparse_rowval, M.static_g1_sparse_colval, M.static_g1_sparse_colptr, T_order, T);
res = feval([fname '.sparse.static_resid'], xx, exo_ss, params);
end
% index of multipliers and corresponding equations
% the auxiliary variables before the Lagrange multipliers are treated
% as ordinary endogenous variables
A = fJ(1:orig_endo_aux_nbr,orig_endo_nbr+find(aux_vars_type==6));
A = feval([fname '.ramsey_multipliers_static_g1'], xx, exo_ss, params, M.ramsey_multipliers_static_g1_sparse_rowval, M.ramsey_multipliers_static_g1_sparse_colval, M.ramsey_multipliers_static_g1_sparse_colptr);
y = res(1:orig_endo_aux_nbr);
mult = -A\y;

@ -1 +1 @@
Subproject commit bff80c0eaf39ba5c05be92900bbf09b16c7f9452
Subproject commit 0169240f76532df6d507b01647e8576d1094e95d