Resol.m and dr1.m

My colleagues and I have a great interest in the details of the metropolis, DsgeSmoother, and DiffuseKalman routines. Though we have successfully documented many aspects of these programs, the purpose and functioning of resol.m still confuses us. At line 1656 of metropolis we see:

“% FIFTH, I update variable dr_
dr_ = resol(ys_,0);”

At first, we thought that resol.m updates dr_ given the steady-state output of DsgeSmoother, ys. Now, we know that ys_ for us is always empty or zero and not equal to ys. How and why do resol.m and dr1.m update dr_.

Kieran and Krishna

  1. resol has two functions:
  • finding the steady state corresponding to the value of the parameters
  • finding the first order approximate solution of the rational expectation model
    this solution is then saved in dr_.ghx and dr_.ghu

Note that the fragment of code that you are quoting is in a part of the routine where we exploit previous Metropolis draws in order to compute the posterior distribution of forecasts of the model