The `check`

command of Dynare prints out a list of ‘eigenvalues’. What matrix are these the eigenvalues of?

The answer was not immediately clear to me by looking at the Dynare manual. Rather, the answer can be found in this working paper by Villemot.

Dynare preprocesses a linear model into the form \[D(\mathbb{E}_t y_{t+1}) = Ey_t + z_t\] where \(D\) and \(E\) are matrices, \(z_t\) are exogenous variables and \(y_t\) consists of the dynamic endogenous variables (i.e. the endogenous variables that enter into a model equations with a lead or a lag). The vector \(y_t\) also contains any auxillary variables that need to be introduced to bring the equations into the above form.

The ‘eigenvalues’ reported by `check`

are in fact *generalized eigenvalues* arising from a QZ decomposition of \((E,D)\). The use of the QZ decomposition to solve linear rational expectations model is discussed for example in Chapter 2 of DeJong and Dave’s *Structural Macroeconometrics*.

Just to compare, here is some R code that hand-computes the matrices for the model in Chapter 3 of Galí’s *Monetary Policy, Inflation and the Business Cycle* for which a Dynare model has been created by Johannes Pfeifer.