# LRESolve.jl

Solving Systems of Linear Rational Expectations Equations in Julia

## Installation

These commands install the latest version of LRESolve.jl

`import Pkg; Pkg.add("https://github.com/NormannR/LRESolve.jl.git")`

`import Pkg; Pkg.add("LRESolve.jl")`

## Methods

### Sims (2001)

Sims (2001) solves LRE systems of the form

where

- x is the vector of endogenous variables
- z is the vector of exogenous shocks
- η is the vector of expectation errors

The solution verifies

To solve a LRE system using this method

- Define the model through the
`ModelSims`

structure. The syntax is typically

`M0 = ModelSims(Γ₀,Γ₁,C,Ψ,Π)`

- Call the
`solve_sims`

method over the newly created model

`Θ, Θ₀, Θ₁ = solve_sims(M0)`

### Uhlig (1998)

Uhlig (1998) solves LRE systems of the form

where

- x is the vector of endogenous variables
- f is the vector of exogenous variables

The solution takes the form

To solve a LRE system using this method

- Define the model through the
`ModelUhlig`

structure. The syntax is typically

`M0 = ModelUhlig(F,G,H,L,M,N)`

- Call the
`solve_uhlig`

method over the newly created model

`P,Q = solve_uhlig(M0)`

### Anderson and Moore (1985)

Anderson and Moore (1985) solves systems of the form

where

- x is the vector of all variables
- τ is the number of past lags
- θ is the number of future lags

The solution is of the form

To solve a system using this method

- Define the model through the
`ModelAM`

structure. The syntax is typically

`M0 = ModelAM(τ,θ,[Hmτ,...,Hθ])`

- Call the
`solve_am`

method over the newly created model

`B = solve_am(M0)`

The different methods can be tested using Binder.