Commit Graph

9611 Commits (b3877b3a9e86a2441883c3f0b95fbf1284bfa4d5)

Author SHA1 Message Date
Stéphane Adjemian (Charybdis) 6007d51ef4 Code factorization. 2016-05-25 12:42:56 +02:00
Stéphane Adjemian (Charybdis) fb4dfc6da6 Fixed typo. 2016-05-24 22:32:02 +02:00
Stéphane Adjemian (Charybdis) 0ea9bc4e90 Fixed typo introduced in 0abb9dc6f9. 2016-05-24 21:18:13 +02:00
Michel Juillard cd55ed749c extended_path: fixing inititalization for PATH
(cherry picked from commit 7d29e917f77e7e20211e5be01544d86c64af8c65)
2016-05-24 18:08:33 +02:00
Michel Juillard 28c0c92ae8 fixing typos
(cherry picked from commit 86995a3bd478a3dc02919424aeb77e2a550a84c5)
2016-05-24 17:57:26 +02:00
Stéphane Adjemian (Charybdis) 3fa6a96bfb Added homotopy.
Fixes the issue of paths containing spurious solutions for (stochastic)
perfect foresight models.
2016-05-24 17:28:24 +02:00
Stéphane Adjemian (Charybdis) cfc6957625 Cosmetic changes. 2016-05-24 17:28:24 +02:00
Stéphane Adjemian (Charybdis) 8b5b7921f6 Improved solver for (S)EP.
Use previous solution as an initial condition for the perfect foresight problem.
2016-05-24 17:28:24 +02:00
Stéphane Adjemian (Charybdis) 80f1baad7e Changed solver in simul_backward_nonlinear_model. 2016-05-24 17:28:24 +02:00
Stéphane Adjemian (Charybdis) 6c7f3f1932 Added input to pass sequence of shocks. 2016-05-24 17:28:24 +02:00
Stéphane Adjemian(Charybdis) 7d1d860a53 Fixed ep.init option.
Initialization of the perfect foresight solver (in extended path) with
the solution of the first order approximation of the model was broken.

If the value of options_.ep.init is "true"" (1) then the solution of the
first order approximation is used as an initial guess for the newton
lilke solver. If the value of options_.ep.init is "false" (0) the solver
is initialized with the steady state.
2016-05-24 17:28:24 +02:00
Stéphane Adjemian(Charybdis) dabdda0506 Fixed wrong definition of a logical variable.
The second outputr returned by perfect_foresight_solver_core is the
max. abs. residual, not a dummy variable indicating success or failure
of the perfect foresight solver.
2016-05-24 17:28:24 +02:00
Stéphane Adjemian(Charybdis) fbf2fae036 Changed option value for unscented integration nodes. 2016-05-24 17:28:24 +02:00
Stéphane Adjemian(Charybdis) edce6b4779 Added integration test for Monte-Carlo EP. 2016-05-24 17:28:24 +02:00
Stéphane Adjemian(Charybdis) fdbd4fa7a7 Code factorization.
- Added routines for initializing and setting shocks in EP.
 - Added a specialized routine for doing Monte Carlo around EP.
2016-05-24 17:28:24 +02:00
Stéphane Adjemian(Charybdis) 3bbac629ed Cosmetic change.
Removed maximum_lead and maximum_lag in extended_path routines.
2016-05-24 17:28:24 +02:00
Stéphane Adjemian(Charybdis) d74f315bfb Fixed bug in (Stochastic) Extended Path algorithm.
Innovations were not correctly passed to the non linear solver. Closes #1128.
2016-05-24 17:28:24 +02:00
Stéphane Adjemian(Charybdis) 6dcfd1c072 Added integration test.
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.
2016-05-24 17:28:24 +02:00
Stéphane Adjemian (Hermes) 4926b6c6ff Added a routine the residuals of a model.
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.
2016-05-24 17:28:24 +02:00
Stéphane Adjemian (Hermes) ea1ebfa911 Added argument to simul_backward_nonlinear_model.
First input argument is a vector for the initial condition of the
endogenous variables. If empty, the steady state of the model is used.
2016-05-24 17:28:24 +02:00
Stéphane Adjemian (Hermes) e507a6d0a9 Fixed copyright header. 2016-05-24 17:28:24 +02:00
Stéphane Adjemian (Hermes) 8958b7ef98 Cosmetic changes. 2016-05-24 17:28:24 +02:00
Stéphane Adjemian (Hermes) 3a1f74d7a7 Fixed typo. 2016-05-24 17:28:24 +02:00
Stéphane Adjemian (Hermes) 13ca15a278 Allow (S)EP with arbitrary sequence of innovations.
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.
2016-05-24 17:28:24 +02:00
Stéphane Adjemian (Hermes) b60bd7b36b Removed globals from extended_path routine. 2016-05-24 17:28:24 +02:00
Stéphane Adjemian (Hermes) 635d5b704b Added description of options lmmcp and stack_solve_algo==7 in reference manual. 2016-05-24 17:28:24 +02:00
Stéphane Adjemian (Hermes) 4bd8ef7a9f Added new integration tests.
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.
2016-05-24 17:28:24 +02:00
Stéphane Adjemian (Hermes) ee78ad2049 Improved execution speed.
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.
2016-05-24 17:26:06 +02:00
Stéphane Adjemian (Hermes) be0f6230ad Cosmetic changes.
- 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).
2016-05-24 17:26:06 +02:00
Stéphane Adjemian (Hermes) 1815eb8e56 Code factorization. 2016-05-24 17:26:06 +02:00
Stéphane Adjemian (Hermes) 8a163842d0 Removed oo_ from sim1_linear routine. 2016-05-24 17:26:06 +02:00
Stéphane Adjemian (Hermes) 7eed391eb7 Do not display max. abs. error. 2016-05-24 17:26:06 +02:00
Stéphane Adjemian (Hermes) 4e8fcf6d47 Use lmmcp option in integration tests. 2016-05-24 17:26:06 +02:00
Stéphane Adjemian (Hermes) 97d094b6dd Added mention to equation tags in Ref. manual. 2016-05-24 17:26:06 +02:00
Stéphane Adjemian (Hermes) 53747cb082 Fixed lmmcp option.
This option may be used in extended_path and perfect_foresight_solver commands.
2016-05-24 17:26:06 +02:00
Stéphane Adjemian (Hermes) 7355214413 Added integration tests for lmmcp in testsuite.
Also merged rbcii.mod and rbciia.mod.
2016-05-24 17:26:06 +02:00
Stéphane Adjemian (Hermes) 8b084595e2 Added solve_algo as an option for perfect_foresight_solver. 2016-05-24 17:26:06 +02:00
Stéphane Adjemian (Charybdis) 8763c29f34 Renamed and changed integration test for sim1_purely_forward routine.
Check the results against analytical solution. Also added a new
integration test (ar1.mod).
2016-05-24 17:26:06 +02:00
Stéphane Adjemian (Charybdis) 02c71eb270 Renamed and changed integration test for sim1_purely_backward routine.
Compare the solution returned by sim1_purely_backward with the true solution.
2016-05-24 17:26:06 +02:00
Stéphane Adjemian (Charybdis) e0be60710c Removed oo_ from sim1_purely_{backward,forward} routines. 2016-05-24 17:26:06 +02:00
Stéphane Adjemian (Charybdis) 0abb9dc6f9 Added integration test.
Comparison of the solutions for the endogenous variables in perfect
foresight models with stack_solve_algo equal to 0 and 6 (LBJ, legacy
algorithm).
2016-05-24 17:26:06 +02:00
Stéphane Adjemian (Charybdis) 290ce5db68 Removed oo_ from sim1_lbj routine. 2016-05-24 17:26:06 +02:00
Stéphane Adjemian (Charybdis) 674c9ab286 Removed oo_ from sim1 routine. 2016-05-24 17:26:06 +02:00
Stéphane Adjemian (Hermes) 4658d81740 Add pointer to user written steady state routine. 2016-05-23 13:48:19 +02:00
Stéphane Adjemian (Hermes) f0229f3b1c Removed workspace() in examples. 2016-05-23 13:48:19 +02:00
Stéphane Adjemian (Hermes) 9c1739520b Bug fix in assert (Julia output)
Same as 4b830d29ed2d230908a1a5ec1c7badd29c7dc86a but for static model.
2016-05-23 13:48:19 +02:00
Stéphane Adjemian (Hermes) 0398832e4f Assign parameter values in main julia module.
See PR #1102 by spencerlyon2.

Added support for filling in the model.params Vector.
2016-05-23 13:48:19 +02:00
Stéphane Adjemian (Hermes) cf9883ef61 Bug fix in assert (Julia output).
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.
2016-05-23 13:48:19 +02:00
Stéphane Adjemian (Hermes) e65c4f970b Fixed indexing of params in steady state file. 2016-05-23 13:48:19 +02:00
Stéphane Adjemian (Hermes) e44d90adc1 Fixed type issues.
params, exo_steady_state and steady_state are vectors not matrices!
2016-05-23 13:48:19 +02:00