Commit Graph

46 Commits (7e770f69e791e705ab535126e0157130dc9d40c6)

Author SHA1 Message Date
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 89a3e94cbf
Use true/false instead of 1/0 for boolean options
This is more elegant, and makes it easier to distinguish them from integer
options.

Also simplify test expressions for these boolean options.
2019-03-19 15:21:16 +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 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 59ad26a3c9 Improve fallback code when mjdgges DLL is absent
The new code relies on qz(..., 'real'), ordqz and ordeig, and returns a real
decomposition. The previous version was using Sims' qzdiv and returned a
complex decomposition.

As a consequence, we can drop options_.qzdiv, which was used to detect when
imaginary parts had to be dropped.

This code does not work on Octave for the time being, but this is acceptable
since it is only a fallback.
2018-05-16 17:12:48 +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
Johannes Pfeifer f5fb81a758 Correct typos in error message and header 2016-12-01 17:49:06 +01:00
Johannes Pfeifer c6f705a8b9 Correct setting of info in dr_block.m if eigenvalue is close to 0/0
Must be the same as in dyn_first_order_solver.m
2016-05-05 10:08:52 +02:00
Michel Juillard 87cb00bd7d fixing bug in calling sequence of *_dynamic function when using block option 2015-03-11 09:24:47 +01:00
Michel Juillard 86f9e53ec6 dr_block: fixing bug in solve_foward_complete 2015-03-07 10:59:53 +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) 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
Houtan Bastani ca83397d95 update copyright dates for files changed in 2015 2015-02-16 09:08:02 +01:00
ferhat 5d9b25d2be In dr_block, debugging information printed out should not be handled with options_.verbosity. Adding an additional optional argument to handle the debugging information 2015-01-21 13:48:25 +01:00
Johannes Pfeifer 8655df67a9 Clean up use of verbosity option
- in dr_block.m and ep_residuals.m the option was hardcoded and disabled
- for csminwel1.m, no verbosity option exists anymore, thus definitions preceeding calls to it were redundant as was the options_.osr.verbose
2014-09-12 10:33:37 +02:00
ferhat beee1d2f82 Correct the test on the number of eigenvalues outside the unit circle: do the test on each block instead of at the global level 2014-09-11 18:19:31 +02:00
Stéphane Adjemian (Scylla) 8359b90cdf Cosmetic changes. 2014-01-30 13:00:25 +01:00
Stéphane Adjemian (Charybdis) cb2228acad Merge branch 'master' into experimental-mjdgges-threshold 2013-06-12 17:27:25 +02:00
Sébastien Villemot 61485ab809 Fix copyright notices 2013-06-12 17:04:46 +02:00
Stéphane Adjemian (Charybdis) 0f570d1d98 Added input argument four (options_.qz_zero_threshold) when calling mjdgges. 2013-06-12 10:23:07 +02:00
Ferhat Mihoubi 2dc04c8c00 Correct a typo when solving an equation containing only lead and current values of endogenous 2013-06-07 20:27:10 +02:00
Sébastien Villemot da1a190630 Remove spurious displayed variables 2013-05-23 11:52:28 +02:00
Ferhat Mihoubi 7bbffd7cef Deals with empty values in csv file, removed a useless test 2013-04-19 16:04:06 +02:00
Sébastien Villemot c121aa14b1 Remove oo_.dr.{nstatic,npred,nboth,nfwrd,nspred,nsfwrd}
Replace them by equivalents in M_ (and an extra one: M_.dynamic).

IMPORTANT POINT: oo_.dr.npred used to count both purely backward and mixed/both
variables. This was the cause of lots of confusion. The new M_.npred only
counts purely backward variables.

We now have the following indentities:

M_.npred + M_.nboth + M_.nfwrd + M_.nstatic = M_.endo_nbr
M_.nspred = M_.npred + M_.nboth
M_.nsfwrd = M_.nfwrd + M_.nboth
M_.ndynamic = M_.npred + M_.nboth + M_.nfwrd
2012-11-16 20:05:13 +01:00
Michel Juillard 92833d3ceb In CHECK, use the eigenvalues as computed by the reordered real
generalized Schur decomposition, rather than the ones computed by
eig()
2012-09-10 14:27:56 +02:00
Michel Juillard a22d1d415a replaced rank() by rcond() in evaluating whether Z22 is full rank in
checking Blanchard and Kahn conditions with CHECK
2012-09-10 13:26:05 +02:00
Stéphane Adjemian (Charybdis) 877cc55e78 Fixed bug. 2012-07-11 18:26:22 +02:00
Ferhat Mihoubi 4488357f59 Adds the cycle reduction algorithm to solve the polynomial equation for retrieving the coefficients
associated to the endogenous variables in the decision rule.
2012-07-01 15:19:10 +02:00
Sébastien Villemot 1f9cea669a Update copyright notices 2012-06-08 18:22:34 +02:00
Ferhat eed54fb08a - Adds new algorithms to solve Lyapunov equations: Doubling algorithm and Square root solver. Their respective names are "doubling" and "square_root_solver".
- Adds the tolerance criteria for the iterative solvers (sylvester_fixed_point_tol, lyapunov_fixed_point_tol and lyapunov_doubling_tol)
- Updates the reference manual
2012-04-20 19:23:00 +02:00
Ferhat Mihoubi 8ac14f8c80 Adds fixed point solvers for Sylvester and Lyapunov equations 2012-03-06 12:03:23 +01:00
Ferhat e184c1f368 ghx matrix has to be stored as soon as the block contains lagged or mixed variables 2012-02-17 10:24:31 +01:00
Ferhat Mihoubi d6ce82cda8 Considers exogenous variables with leads or lags in the evaluation of the dynamic model 2011-10-28 22:47:37 +02:00
Ferhat Mihoubi 01ef553956 Correction of bugs in the Jacobian matrix for the a purely backward looking non recursive block 2011-10-28 22:45:07 +02:00
Ferhat Mihoubi 5666c5b166 A purely forward block containing several non recursive equations is coded 7 (not 6) 2011-10-28 22:31:49 +02:00
Ferhat Mihoubi 57029ca39e Correct a comment in dr_block 2011-10-12 14:51:13 +02:00
Ferhat Mihoubi 1782d73ccd Corrects bugs in dr_block 2011-10-12 14:43:04 +02:00
Ferhat Mihoubi e51d8f7a56 Correct bugs in dr_block:
- the index of lead_lag_incidence for forward looking blocks
   - the block type index
2011-09-11 14:37:06 +02:00
Ferhat Mihoubi 3262e6097c - use gensylv instead of sylvester3 to solve the Sylvester equation 2011-06-23 17:44:24 +02:00
Ferhat Mihoubi 3459b08c53 - Corrects the first order approximation of block-decomposed models
- The block-decomposed models can now be estimated
2011-06-18 17:43:45 +02:00
Michel Juillard 55bb27c5f6 new correction for steady_state operator bug. Steady_state vector is passed as argument to *_dynamic model function. As a result, bytecode is currently broken. 2011-03-13 17:06:57 +01:00
Sébastien Villemot 02652f6eb8 Updated copyright notices 2011-02-04 17:27:33 +01:00
Sébastien Villemot 757a9067c0 Global reindentation of MATLAB files 2011-02-04 17:17:48 +01:00
Ferhat Mihoubi 61a251535f Correction of bugs in check command with block decomposition and
Add the missing dr_block m-file
2010-11-25 16:10:46 +01:00