Test that the extended path and stoch_simul (with order equal to 1)
algorithms return the same paths for the endogenous variables if the
RE model is linear.
Takes a path for the endogenous variables and returns the residuals of
the dynamic equations. This routine is useful for solving the model with
the PEA approach.
The third input argument of extended_path Matlab/Octave's routine is the
sequence of shocks (T*n array, where n is the number of exogenous
variables and T is the size of the sample). If the third argument is
empty, the (stochastic) extended path is run with gaussian
innovations (this corresponds to the previous behaviour).
TODO:
- Fix the compatibility with ep.replic_nbr
- Check the 'calibrated' mode.
Simulation of the Smets and Wouters perfect foresight model, with a
productivity shock such that the nominal interest rate hits the
ZLB. Comparison of the solutions returned by a Newton
algorithm (stack_solve_algo==0) and the LMMCP algorithm. AT the time of
this commit, the results are different... Probably an issue with the
LMMCP algorithm.
Removed some calls to bsxfun which is not optimal on sparse matrices. I
only removed the calls where I identified bottlenecks (with a Smets and
Wouters model), more tests are needed to decide if we have to remove other
occurences of bsxfun on sparse matrices.
- Use a switch-case block.
- Added a warning when the user tries to solve a linear(ized) model
with solve_algo different from 0 (for a linear model).
- Added an error message if the user try to solve a linearized model
with stack_solve_algo=6 (not implemented).
See PR #1102 by spencerlyon2.
size always returns a tuple, and we were comparing to an int. Dispatch restricts these arguments to all be vectors so length works here.
+ Fixed deprecated require().
+ Changed @dynare macro and added new macro @compile.
The new macro @compile just runs the preprocessor, while the macro
@dynare calls compile and put the generated objects in the
workspace. Note that this macro can take an arbitrary number of mod
files as argument.
*Example*
@dynare "rbc.mod" "nk.mod"
Will run the preprocessor on both models, and the generated
data (model descriptions, options, ...) are available in the
workspace. For instance, to obtain the number of equations:
julia> rbc.model.eq_nbr
6
julia> nk.model.eq_nbr
10
@compile "rbc.mod" "nk.mod"
Will run the preprocessor on both models, but will not load the
generated data in the workspace. This can be done as follows:
julia> using rbc
+ Changed examples (rbc1 has a steady state block but not rbc2), using
new interface.
1) Filter out measurement errors with error message that suggests to explicitly write measurement errors in model definition
2) allow identification checks with correlations, by switching to numerical derivatives