Johannes Pfeifer
8aad715183
det_cond_forecast.m: always set options_.qz_criterium
...
Closes https://git.dynare.org/Dynare/dynare/issues/1701
2020-02-02 14:15:01 +01:00
Sébastien Villemot
7e770f69e7
Remove workaround for errors in MEX files
...
Because at some point throwing exceptions from MEX files (with mexErrMsgTxt())
was not working under Windows 64-bit, we had designed a workaround to avoid
using exceptions.
Most MEX files were returning an error code as their first (or sometimes last)
argument, and that code would have to be checked from the MATLAB code.
Since this workaround is no longer needed, this commit removes it. As a
consequence, the interface of many MEX files is modified.
For some background, see https://www.dynare.org/pipermail/dev/2010-September/000895.html
2020-01-10 18:33:11 +01:00
Sébastien Villemot
a95358accc
Merge branch 'sim1' into 'master'
...
sim1.m: provide missing function input to nested function
See merge request Dynare/dynare!1691
2020-01-06 13:22:29 +00:00
Johannes Pfeifer
632c0a3943
sim1.m: provide missing function input to nested function
2020-01-06 09:06:18 +01:00
Sébastien Villemot
49dc997073
Global reindentation of MATLAB code (excluding submodules)
...
Also convert to Unix end-of-lines, and remove trailing whitespaces.
2019-12-20 16:30:27 +01:00
Sébastien Villemot
efa6c6c682
“datafile” option of “perfect_foresight_setup” (and “simul”) now equivalent to “initval_file”
...
Ref. #1663
2019-12-19 14:58:54 +01:00
Michel Juillard
d0247277f9
after check, oo_.dr isn't empty but oo_.dr.ghx + friends don't exist
2019-11-25 21:54:53 +01:00
Michel Juillard
f6daa359b7
fix tolf and tolx options for sim1_purely_forward
2019-11-23 22:47:17 +01:00
Michel Juillard
2652cb0dd7
fix tolf and tolx options for sim1_purely_backward
2019-11-23 22:44:10 +01:00
Houtan Bastani
7712a02f02
add print and noprint option to perfect_foresight_solver. closes #1647
2019-09-12 14:50:14 +02:00
Houtan Bastani
3d6091b3a1
remove unused return arguments
2019-09-12 14:01:52 +02:00
Houtan Bastani
e043c60903
pass M_, options_, oo_ as arguments to stoch_simul, simult_, discretionary_policy. closes dynare#1197
2019-09-12 11:57:01 +02:00
Sébastien Villemot
f8af21819e
Simplify the interface to perfect_foresight_problem MEX
2019-07-09 14:33:17 +02:00
Sébastien Villemot
2ad6b31d76
Option endogenous_terminal_period is only available for stack_solve_algo=0
2019-07-04 18:37:27 +02:00
Sébastien Villemot
7d9b2a557b
perfect_foresight_problem MEX: number of threads is now configurable
2019-06-27 17:00:12 +02:00
Sébastien Villemot
5b591fac42
New perfect_foresight_problem MEX file
...
It constructs the stacked residuals and jacobian of the perfect foresight
problem.
It is an almost perfect replacement for the perfect_foresight_problem.m
routine, while being much more efficient.
Note however that the DLL never return complex numbers (it instead puts NaNs at
the place where there would have been complex). This may create problems for
some MOD files; the algorithms will need to be adapted to use a more
line-search method.
2019-06-24 17:53:59 +02:00
Sébastien Villemot
aedc9fb2e4
Bugfix: perfect_foresight_setup safety check does not correctly index M_.lead_lag_incidence
2019-06-18 17:01:06 +02:00
Sébastien Villemot
5a36d57b90
Perfect foresight: remove unused nnzJ argument in several stacked problem functions
2019-05-13 18:33:26 +02:00
Sébastien Villemot
088826a332
Perfect foresight: remove useless model evaluation
2019-05-13 18:33:26 +02:00
Stéphane Adjemian (Charybdis)
64dc44740b
Efficiency change.
2019-04-26 16:20:45 +02:00
Stéphane Adjemian (Charybdis)
99edfc52ed
Removed unused routine.
2019-04-26 15:55:48 +02:00
Stéphane Adjemian (Charybdis)
24cc67e585
Ensure that all perfect foresight solvers work with periods=1.
...
See #1205 and #1176 .
2019-04-26 15:55:48 +02:00
Houtan Bastani
ce97e51aec
small fixes
2019-03-06 14:01:29 +01:00
Houtan Bastani
c94401ea66
remove spurious semicolon
2019-01-02 18:00:21 +01:00
Houtan Bastani
42ad1a85ba
remove unnecessary find in statement
2019-01-02 17:56:45 +01:00
Houtan Bastani
24eb3bcb34
remove unnecessary brackets from strings
2019-01-02 17:56:35 +01:00
Sébastien Villemot
7a75872f72
Modernization: use tilde (~) syntax for ignored output arguments
2018-11-13 18:02:09 +01:00
Sébastien Villemot
d03cc56587
solve_algo=7 and stack_solve_algo=2 are now allowed under Octave
...
The gmres() function has been implemented (actually since Octave 3.4.1!).
2018-08-02 15:20:39 +02:00
Sébastien Villemot
a1b8bd39b2
Move the location of various generated files on the filesystem
...
- M and MEX files are now under +${MODELNAME}/
- bytecode, C source and JSON now under ${MODELNAME}/model/
2018-06-27 17:03:39 +02:00
Sébastien Villemot
79484607a7
Fix various issues with stack_solve_algo=7 and lags on exogenous > 1
...
Complete the fix started in 8913791ff0
.
Change the test case to prevent regressions.
2018-06-07 16:14:02 +02:00
Michel Juillard
8913791ff0
fixes bug for solve_algo = 10 and lags on exogenous variables
2018-06-07 12:21:58 +02:00
Johannes Pfeifer
224ccb7bab
sim1_linear.m: change hard-coded tolerance to option
...
The tolerance for the steady state check should depend on the accuracy of the steady state computation
2018-02-07 18:42:12 +01:00
Stéphane Adjemian (Scylla)
7be8f10e0e
Use cells of strings instead of char arrays.
2018-01-09 22:30:01 +01:00
Houtan Bastani
a51fef393a
aesthetic fix
2017-08-30 17:44:41 +02:00
Stéphane Adjemian (Scylla)
5429821719
Fixed incomplete commit 1a4257ac4b
.
2017-08-16 23:29:15 +02:00
Stéphane Adjemian (Scylla)
131a68ea6f
Provide more informations if expected shocks are declared after the terminal period.
2017-08-16 16:43:43 +02:00
Stéphane Adjemian (Scylla)
10047feee5
Test if shocks are declared.
...
Fixes bug introduced in 97b894a1cd
, if no shocks
are declared (for instance if the user is interested in the transition to the
steady state).
2017-08-16 16:04:15 +02:00
Johannes Pfeifer
97b894a1cd
Provide meaningful error message if oo_.exo_simul is larger than options_.periods
2017-08-16 16:00:55 +02:00
Stéphane Adjemian (Scylla)
1a4257ac4b
Efficiency change.
...
Reduced the size of the unnecessary large array for the exogenous variables
introduced in 57fd56c90a
.
2017-08-16 15:44:00 +02:00
Johannes Pfeifer
57fd56c90a
sim1_linear.m: Fix evaluation of dynamic model at deterministic steady state
...
Did not correctly account for exogenous variables being potentially present with leads and lags
2017-08-01 11:04:46 +02:00
Stéphane Adjemian (Charybdis)
1bf81c9f5a
Fixed copyright notices.
2017-05-18 18:36:38 +02:00
Stéphane Adjemian (Charybdis)
5417b27ac7
Fixed indentation of matlab files.
2017-05-16 15:10:20 +02:00
Stéphane Adjemian (Charybdis)
a53636e24e
Fixed copyright notices.
2017-05-16 14:11:15 +02:00
Stéphane Adjemian (Charybdis)
88e1701289
Removed useless commas and semicolons.
2017-05-16 13:24:46 +02:00
Stéphane Adjemian (Charybdis)
5ef2d650b2
Fixed function name in header.
2017-05-16 13:24:46 +02:00
Ferhat Mihoubi
981e31c8c3
Fix issues in bytecode with option extended_path related to the size of endo_simul and exo_simul
...
(cherry picked from commit ab7acc49e30fbcb292d63d58281581a308716b4c)
2017-05-08 18:40:18 +02:00
Ferhat Mihoubi
e248d8bf59
Fix memory and periods issues in bytecode
...
(cherry picked from commit fa5dd681abcb3243a5ee9be1f71fdfc51bced1cd)
2017-05-08 18:39:44 +02:00
Houtan Bastani
b3fa669717
bug fix introduced in 234aaacf92
2017-03-24 17:13:03 +01:00
Marco Ratto
234aaacf92
factorized display of critical values.
2017-03-23 00:08:05 +01:00
Stéphane Adjemian (Charybdis)
ee2c30fd97
Partialm cherry-pick of 28e95d817a181f758dab595d6a14de0ff348bed5
...
Give more informations in case of NaN, Inf or non real variables.
Closes PR #1385 .
2017-03-22 14:04:35 +01:00
Johannes Pfeifer
1c070f536a
Add headers to various functions
2016-08-23 17:28:41 +02:00
Johannes Pfeifer
8f689ce8d2
Correct header of perfect-foresight-models/perfect_foresight_mcp_problem.m
2016-08-23 17:28:41 +02:00
Michel Juillard
22f49971bc
fixing bug in mcp model setup
...
makes perfect_foresight_problem more efficient
added test case for stack_solve_algo == 7
2016-07-03 10:56:44 +02:00
Michel Juillard
0ce2834281
extended path: fixed boundaries for linear problem
2016-05-31 12:10:12 +02:00
Michel Juillard
c14125d585
PATH: fixing bugs
2016-05-31 12:10:12 +02:00
Michel Juillard
d106b20b69
perfect foresight: set boundaries with PATH
2016-05-31 12:10:12 +02:00
Michel Juillard
c159dff19c
adding hook for PATH solver
2016-05-31 12:10:12 +02:00
Stéphane Adjemian (Charybdis)
dfbad0404d
Fixed crash in sim1_linear when periods=1.
...
Closes #1176 .
2016-05-26 22:19:36 +02:00
Stéphane Adjemian (Charybdis)
fb4dfc6da6
Fixed typo.
2016-05-24 22:32:02 +02:00
Michel Juillard
28c0c92ae8
fixing typos
...
(cherry picked from commit 86995a3bd478a3dc02919424aeb77e2a550a84c5)
2016-05-24 17:57:26 +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)
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 (Charybdis)
e0be60710c
Removed oo_ from sim1_purely_{backward,forward} routines.
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
Johannes Pfeifer
5f32b80a27
Fix error codes for bytecode in perfect_foresight_solver_core.m
...
If it fails, 1 must indicate error, not 0
2016-05-05 10:52:17 +02:00
MichelJuillard
62efd9930e
Merge pull request #1148 from JohannesPfeifer/foresight_imaginary
...
Add check whether real part of complex solution solves the model
2016-04-12 13:06:26 +02:00
MichelJuillard
aa1a0b5e25
Merge pull request #1052 from JohannesPfeifer/lin_solve_robust
...
Integrate robust linear solver for stack_solve_algo=0
2016-04-12 12:06:22 +02:00
Johannes Pfeifer
a93d68fb35
Make evaluate_steady_state.m honor nocheck flag
...
Closes #1054
2016-03-25 22:12:52 +01:00
Johannes Pfeifer
0669ac4c1c
Adjust verbosity of solvers
2016-03-25 20:14:25 +01:00
Johannes Pfeifer
4b83c1bf76
Integrates Tom Holden's robust linear solver
...
Supersedes #984
2016-03-25 09:59:20 +01:00
Stéphane Adjemian(Charybdis)
e714dc1a9f
Fixed bug in homotopy.
...
Convex combination for initial/terminal endogenous variables paths was wrong.
2016-03-24 22:42:44 +01:00
Johannes Pfeifer
6bca322809
Add check whether real part of complex solution solves the model
...
Fixes #896
2016-03-23 21:25:58 +01:00
Stéphane Adjemian
a3c7cad354
Merge pull request #1131 from JohannesPfeifer/make_
...
Replace globals by inputs in make_ex_.m and make_y_.m
2016-03-18 15:10:06 +01:00
Johannes Pfeifer
bb08853784
Replace globals by inputs in make_ex_.m and make_y_.m
2016-03-11 16:28:17 +01:00
Houtan Bastani
f60945facc
fix copyright dates
2016-03-11 16:22:42 +01:00
Michel Juillard
34e35555d6
fixed bugs when there is a single equation in the model
2016-03-07 21:51:45 +01:00
ferhat
e555c8181d
Corrections in the way to handle the exogenous
2015-11-19 17:04:56 +01:00
ferhat
6d7218f9dc
Fix bugs in det_cond_forecast.m
2015-11-11 18:35:41 +01:00
ferhat
7c5272d852
Allows to compute the extended path and the conditional forecasts with bytecode
2015-09-22 15:39:49 +02:00
Michel Juillard
7d11ed7642
histval: use now the same treatment for exogenous and exogenous det
...
variables as for endogenous ones. Closes issue #617 .
2015-07-29 16:12:53 +02:00
Michel Juillard
fe861fee76
fixed bug introduced in commit 1bd2a1b1c2
2015-07-29 11:54:10 +02:00
Michel Juillard
e8f318ff50
fixed problems in extended path
2015-07-23 14:27:55 +02:00
Michel Juillard
b8194f7845
histval: replaced initialization with NaN by zeros
2015-07-23 14:25:18 +02:00
Michel Juillard
0d7e349187
removed useless statement
2015-07-23 11:41:47 +02:00
Michel Juillard
995c0d7c66
fixing typo
2015-07-21 15:32:33 +02:00
Michel Juillard
9b8077fc28
Merge branch 'master' into new_ep
2015-07-21 09:30:58 +02:00
Stéphane Adjemian (Charybdis)
d78ed888e5
Added a function to evaluate the accuracy of the linear approximation
...
when solving perfect foresight models.
2015-07-07 17:55:41 +02:00
Stéphane Adjemian (Charybdis)
ee44dd5fea
Updated header.
2015-07-07 17:55:41 +02:00
Stéphane Adjemian (Charybdis)
316f394e06
Removed unused variables from sim1.m.
2015-07-07 17:55:41 +02:00
Stéphane Adjemian (Charybdis)
17f3583151
Allow linear_approximation option with stack_solve_algo=7.
2015-07-07 17:55:41 +02:00
Stéphane Adjemian (Charybdis)
8007f508a2
New option linear_approximation for perfect foresight models.
...
This approach only requires one evaluation of the dynamic model (and its
jacobian) instead of T (the number of perdiods). Also (because the model
is linear) the equilibrium paths are obtained by inverting the jacobian
of the stacked equations (no need for a Newton algorithm).
Only available with stack_solve_algo==0 (which is the default algorithm
for solving perfect foresight models).
If possible, the option is triggered automatically if the model is
declared linear.
TODO:
* Write a linear version of perfect_foresight_problem routine.
* Evaluate the approxilation error (just need to evaluate the system of
stacked non linear equations).
2015-07-07 17:55:41 +02:00
Michel Juillard
3640b2b511
minor change to perfect_foresight_solver_core.m
2015-07-07 16:42:30 +02:00
Stéphane Adjemian (Hermes)
ccad2848db
Homotopy not implemented for purely backward or forward perfect foresight
...
models.
2015-06-04 12:28:58 +02:00
Michel Juillard
c22d31330c
Adding 'ramsey_constraints' block to declare contraints for Ramsey
...
problems. Note that LMMCP (solve_algo=10) still doesn't work in all cases.
2015-05-31 12:18:20 +02:00
Michel Juillard
127730d731
solve bugs when there are lags of exogenous variables on more than one
...
period in deterministic models.
2015-05-27 12:22:32 +02:00
Michel Juillard
eefa7bb70a
fixing problem with endogenous_terminal_period
2015-05-27 10:23:14 +02:00
Michel Juillard
1b822a9105
fix calls to dynare_solve() when Jacobian of function must be computed
...
numerically. Fix call to dynare_solve() in simulation_core()
2015-05-26 15:51:09 +02:00
Michel Juillard
a36fd53eff
fixing extended-path
2015-05-25 09:43:21 +02:00
Michel Juillard
b3047c9742
Merge branch 'master' into new_ep
2015-05-23 18:26:07 +02:00
Johannes Pfeifer
8aec696b95
Fix various copy and paste errors in check_input_arguments.m
...
During moving to a separate function, not all variables had been renamed
2015-05-09 08:22:31 +02:00
Stéphane Adjemian
3bcb89bd72
Merge pull request #893 from JohannesPfeifer/Fix_message
...
Fix crash in error message display of perfect_foresight_setup.m when mor...
2015-05-07 17:23:25 +02:00
Michel Juillard
f2617fcf74
deterministic simulations: more efficient manner to build the Jacobian matrix
...
of the stacked system. Gains is not as much as expected.
2015-05-06 11:16:53 +02:00
Sébastien Villemot
db272f114b
Compatibility fixes for MATLAB <= 7.7.
...
The tilde syntax was introduced in MATLAB 7.8.
2015-04-22 16:45:15 +02:00
Sébastien Villemot
f86b91d3d6
Perfect foresight solver: inform the user when we switch to a homotopy method.
2015-04-22 14:44:39 +02:00
Sébastien Villemot
8ab1239d79
Fix handling of warnings in perfect foresight solver with homotopy.
2015-04-22 12:23:20 +02:00
Johannes Pfeifer
31cd80e9a9
Fix crash in error message display of perfect_foresight_setup.m when more than one variable is not present in current period
...
Concatenation otherwise crashes due to non-conformable matrices
2015-04-19 10:52:22 +02:00
Stéphane Adjemian (Scylla)
6d7b72cb0d
Merged with master
2015-03-13 15:53:18 +01:00
Stéphane Adjemian (Charybdis)
de5c541ce6
Manually merged PR #807 .
...
Fixed conflict related to the move of the perfect foresight related routines
in a subfolder.
2015-03-05 14:31:36 +01:00
Michel Juillard
a5c652f81a
removing nefarious _
2015-03-04 09:41:29 +01:00
Michel Juillard
2ca7be4e5e
Merging changes in master
2015-02-23 18:02:20 +01:00
Stéphane Adjemian (Charybdis)
7df3856cbf
Fixed homotopy with bytecode for perfect foresight models.
2015-02-21 13:59:53 +01:00
Stéphane Adjemian (Charybdis)
43f2ec1d9d
Fixed display of the homotopy steps when the residuals are complex.
2015-02-21 13:58:52 +01:00
Stéphane Adjemian (Charybdis)
ff7c1f5cda
Cosmetic change.
2015-02-21 13:57:48 +01:00
Stéphane Adjemian (Charybdis)
9bdf75a52c
Fixed bug in the initialization of the homotopy for perfect foresight models.
2015-02-21 13:56:11 +01:00
Stéphane Adjemian (Charybdis)
d19592f761
Fixed homotopy for perfect foresight models with block option, cosmetic changes.
2015-02-20 14:48:25 +01:00
Michel Juillard
55ea2100c6
Merge branch 'master' into new_ep
2015-02-19 10:27:15 +01:00
Stéphane Adjemian (Charybdis)
5768acf17e
Fixed the verbosity of perfect foresight models solvers.
...
With stack_solve_algo={0, 6} the verbosity is controlled with
options_.verbosity instead of options_.no_homotopy.
Also harmonized the printed informations across these two algorithms.
2015-02-18 23:58:37 +01:00
Stéphane Adjemian (Charybdis)
fd0a172637
Remove small imaginary parts in the solution path for perfect foresight
...
models obtained with stack_solve_algo=7.
Also return oo_.deterministic_simulation.status equal to false if the
solution path is not real.
2015-02-18 23:53:55 +01:00
Stéphane Adjemian (Charybdis)
1c8e1ab913
Merge branch 'remove-globals-from-blocks'
2015-02-17 13:01:17 +01:00
Stéphane Adjemian (Charybdis)
cc94ed63b0
Revert "Temporary fix for perfect foresight model simulation with block option."
...
This reverts commit 8875dbdaa5
.
2015-02-17 13:01:01 +01:00
Stéphane Adjemian (Charybdis)
a894357655
Removed options_ and oo_ globals from *all* generated dynamic model
...
routines (with block option) and adapted some routines to reflect this change.
2015-02-17 12:57:30 +01:00
Michel Juillard
83c68c0477
Allowing for models without exogenous variable
2015-02-16 21:30:34 +01:00
Stéphane Adjemian (Charybdis)
8875dbdaa5
Temporary fix for perfect foresight model simulation with block option.
2015-02-16 17:05:37 +01:00
Houtan Bastani
333f87ced2
fix headers
2015-02-16 09:08:26 +01:00
Houtan Bastani
ca83397d95
update copyright dates for files changed in 2015
2015-02-16 09:08:02 +01:00
Michel Juillard
f8af7724bb
small fixes to perfect foresight
2015-02-15 16:49:33 +01:00
Michel Juillard
3c7b1cf2d7
changed calling sequence for sim1; use local variable names without _;
...
sim1 honors options_.nodisplay
2015-02-14 12:02:18 +01:00
Michel Juillard
21f009a531
Merge branch 'master' into new_ep
2015-02-14 11:54:57 +01:00
Stéphane Adjemian (Charybdis)
b3ed7901cf
Fixed bug in homotopy for perfect foresight models.
...
Homotopy was not working if nans or complex numbers were present in oo_.endo_simul.
2015-02-13 16:04:25 +01:00
Stéphane Adjemian (Charybdis)
3b41aa0e60
Fixed bug related to the type of initial_period.
2015-02-13 15:59:49 +01:00
Stéphane Adjemian (Charybdis)
ec896d8ca7
Cosmetic changes.
...
oo_.determinist_simulation.status is a boolean.
2015-02-13 15:58:12 +01:00
Stéphane Adjemian (Charybdis)
59d1c18960
Added routines missing in previous commit.
2015-02-13 10:10:41 +01:00
Stéphane Adjemian (Charybdis)
67be25d1a8
Rewrote homotopy for perfect foresight models.
2015-02-12 15:30:27 +01:00
Stéphane Adjemian (Charybdis)
f40fcb9724
Do not print anything if homotopy (perfect forsight models solver).
2015-02-12 15:30:27 +01:00
Stéphane Adjemian (Charybdis)
93966f2087
Set verbosity to 0 if homotopy is used to solve the perfect foresight model.
2015-02-12 15:30:27 +01:00
Stéphane Adjemian (Charybdis)
751e518811
Removed global variables in perfect foresight routines.
2015-02-12 15:30:27 +01:00
Stéphane Adjemian (Charybdis)
892e6818ed
Put argument checks in another routine.
2015-02-12 15:30:27 +01:00
Stéphane Adjemian (Charybdis)
6f7fed2046
Moved sim1* routines in subfolder.
2015-02-12 15:30:26 +01:00
Stéphane Adjemian (Charybdis)
1b55975231
Moved det_cond_forecast routine in subfolder.
2015-02-12 15:30:26 +01:00
Stéphane Adjemian (Charybdis)
df4ee4b983
Moved files related to perfect foresight models in a subfolder.
2015-02-12 15:30:26 +01:00