Commit Graph

37 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 7a2d5d4f0e
1st order approximation: fix for purely-forward models
Closes #1641
2019-03-08 15:54:10 +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 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) 8f53be2a6f Impose the consistency of the count of unstable eigenvalues...
... Between stoch_simul and check. Added sdim (the number of stable
eigenvalues) and edim (the complementary number of explosive eigenvalues) in dr
structure. The test is always done with sdim (or edim) returned by mjdgges.
2018-05-05 19:53:13 +02:00
Stéphane Adjemian(Charybdis) fa67aeb7a6 Fixes issue #1607. 2018-05-05 10:29:37 +02:00
Stéphane Adjemian(Charybdis) 891e3ba7be Cosmetic change in doc headers. 2018-05-05 10:24:01 +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
Michel Juillard 8fb08096b2 fixed bug introduced in commit caa04fb251 2015-07-31 19:37:55 +02:00
Michel Juillard caa04fb251 add explicit opts in calls to linsolve to solve a bug in linsolve.m
for Octave 4.0.0
2015-07-31 11:25:54 +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
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 ea504638fc fixing bug for local approximation of models with variables appearing
only as forward looking (I believe that such models can't be solved,
but it is a different issue).
2012-10-31 17:56:42 +01:00
Michel Juillard 7922366f71 fix bug in setting oo_.dr.state_var. This bug could generate wrong row
labels in Policy and Transition Functions.
2012-10-14 22:54:49 +02:00
Michel Juillard c8c102b43a reorganized code and added comments 2012-09-19 22:51:44 +02: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
Michel Juillard e7a8261b17 first order and cycle reduction: fixing bugs in previous commits 2012-07-22 19:54:12 +02:00
Michel Juillard ba1f5eedc2 first order solver:
-pass along errors returned by cycle reduction algorithms;
-logarithmic reduction fails on error
-replace expensive and random condest() by call to linsolve()
-uses linsolve() to compute hx
2012-07-22 12:56:51 +02:00
Michel Juillard edf826f315 added code to optionally run cycle_reduction algorithm on GPU. Added
options_.gpu (no interface yet, use options_.gpu=1). Added test
./tests/first_order/fs2000_cr.mod
2012-07-20 17:06:12 +02:00
Michel Juillard 8d33a434e5 fixing bugs in dyn_first_order_solver() 2012-07-19 18:57:56 +02:00
Michel Juillard fcc262db7a fixing bugs introduced in 1b3aa73c04 2012-07-17 10:07:09 +02:00
Michel Juillard 1b3aa73c04 adapted dyn_first_order_solver.m for models without lagged variables
and singular coefficient matrix for current variables
2012-07-16 15:52:36 +02:00
Michel Juillard 1732db842f fixing bug in evaluating rank condition for BK when using check (introduced in commit 4d51f38bd2) 2012-07-14 21:07:05 +02:00
Stéphane Adjemian (Charybdis) 4d183aa920 Fixed bug fix introduced in git#6d6e337f5bec0d9728746ce60f7fb09d12042adb. 2012-07-12 09:23:06 +02:00
Stéphane Adjemian (Charybdis) 6d6e337f5b Fixed bug (reported in karaba:/var/tmp/dynare-master-check-o0FCvBRHnf.log). dr.state_var was defined in the wrong place. 2012-07-12 09:18:04 +02:00
Stéphane Adjemian (Charybdis) c850f03be3 Added the possibility to use the logarithmic reduction algorithm (mainly for testing purpose). 2012-07-11 18:26:22 +02:00
Stéphane Adjemian (Charybdis) 4d51f38bd2 Added the possibility to use the cyclic reduction algorithm without the block option. 2012-07-11 18:26:22 +02:00
Sébastien Villemot 1f9cea669a Update copyright notices 2012-06-08 18:22:34 +02:00
Michel Juillard 8d4834de38 added a comment for test of eigenvalues close to 0/0 2012-04-23 13:22:19 +02:00
Michel Juillard ab629c8ed6 fixing headers 2011-12-20 17:02:25 +01:00
Michel Juillard 30d815afdc minor changes to new functions and completing headers 2011-12-20 16:34:30 +01:00
Michel Juillard 336afa9f2b fixing bugs related to new functions 2011-12-18 17:33:08 +01:00
Michel Juillard c56a8e40e8 adding new functions and new tests for risky steady state 2011-12-17 17:35:42 +01:00