Advanced Search
MyIDEAS: Login to save this software component or follow this series

Matlab Code for Solving Linear Rational Expectations Models


Author Info

  • Christopher Sims

    (Princeton University)


A computationally robust solution method for linear rational expectations models is displayed, based on the QZ matrix decomposition. Any rational expectations model, in continuous or discrete time, can be solved by this approach. It requires that the model be cast into first-order form, but it does not require that it be reduced so that the number of states matches the number of equations. It also avoids the artificial requirement that variables be designated as "jump" variables or not. (Instead, how expectational error terms enter the system must be specified - a more general specification.) The code automatically determines whether the model satisfies conditions for existence and uniqueness. Two matlab files, gensys.m and gensysct.m, analyze linear rational expectations systems and return solutions for their dependence on exogenous disturbances. The systems need not have non-singular lead matrices (coefficients on current variables in discrete time, on derivatives in continuous time) and they need not be well-specified. The program analyzes them to determine whether solutions exist and whether they are unique. It returns a solution even when it is not unique, and it returns a solution that constrains exogenous variable behavior when no solution that does not do so exists. The continuous time program, unlike the discrete time program, handles only the case of serially uncorrelated exogenous processes. The files qzdiv.m, qzdivct.m, and qzswitch.m are required by the gensys.m programs. If you try to implement the algorithm in non-Matlab languages, you will need to find or write a routine that does the complex QZ (or generalized Schur) decomposition. Fortran routines that do this are available in the ACM algorithm files.

Download Info

If you experience problems downloading a file, check if you have the proper application to view it first. In case of further problems read the IDEAS help page. Note that these files are not on the IDEAS site. Please be patient as the files may be large.
File URL:
File Function: program code
Download Restriction: none

Bibliographic Info

Software component provided by Quantitative Macroeconomics & Real Business Cycles in its series QM&RBC Codes with number 11.

as in new window
Programming language: Matlab
Date of creation: 22 Jul 2001
Date of revision:
Handle: RePEc:dge:qmrbcd:11

Contact details of provider:
Postal: P.O. Box 442, St. Louis, MO 63166
Fax: (314)444-8753
Web page:
More information through EDIRC

Related research


Other versions of this item:


This item is featured on the following reading lists or Wikipedia pages:
  1. Quantitative Macroeconomics and Real Business Cycles (QM&RBC)


Access and download statistics


When requesting a correction, please mention this item's handle: RePEc:dge:qmrbcd:11. See general information about how to correct material in RePEc.

For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: (Christian Zimmermann).

If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.

If references are entirely missing, you can add them using this form.

If the full references list an item that is present in RePEc, but the system did not link to it, you can help with this form.

If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your profile, as there may be some citations waiting for confirmation.

Please note that corrections may take a couple of weeks to filter through the various RePEc services.