Sébastien Villemot
aaaa897a2a
k_order_perturbation MEX: improve input handling and sanitization
2019-07-09 17:33:05 +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
984c60acb9
Various improvements related to the MEX R2018a API
...
— Use MX_HAS_INTERLEAVED_COMPLEX for testing for the new API
— Use the typed access functions under the new API, with one exception: we do
not use mxGetDoubles() instead of mxGetPr(), because it would just complexif
the code without any value added
For more details, see:
https://fr.mathworks.com/help/matlab/matlab_external/upgrade-mex-files-to-use-interleaved-complex.html
2019-07-09 11:54:12 +02:00
Sébastien Villemot
f45738c09e
local_state_space_iteration_2 MEX: fix error message
2019-06-28 17:49:02 +02:00
Sébastien Villemot
67a49fc67b
k-order MEX: fix incorrect variable name in comment
2019-06-28 15:24:30 +02:00
Sébastien Villemot
ca1a1ae0f2
local_state_space_iterations_2 MEX: minor stylistic improvement
2019-06-27 17:34:10 +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
9557061fa3
Add new num_procs MEX file for getting number of available processing units
2019-06-27 14:34:09 +02:00
Sébastien Villemot
e96f180c50
Implement mxIsScalar() for MATLAB < R2015a (8.5)
2019-06-25 20:31:13 +02:00
Sébastien Villemot
7c39b12b7b
Always compile MEX files with OpenMP (when they can take advantage of it)
...
As a consequence, remove the --enable-openmp option of the configure script.
2019-06-25 17:26:17 +02:00
Sébastien Villemot
82cef48eb4
A_times_B_kronecker_C MEX: remove the OpenMP codepath
...
Testing shows that it is slower than the BLAS path.
2019-06-25 17:26:14 +02:00
Sébastien Villemot
c6a09a65e9
kronecker MEX: improve comments using UTF-8
2019-06-25 14:34:18 +02:00
Sébastien Villemot
7347554db5
perfect_foresight_problem MEX: fix compilation under Windows
2019-06-25 11:14:01 +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
ec05451d1a
Remove symmetric elements in 3rd model derivatives
2019-06-17 16:18:07 +02:00
Sébastien Villemot
1d22536bc5
Add back workaround for MKL with DGGES and VSL
...
The workaround was removed in de159c0480
, but it
is still needed for MATLAB R2009b.
2019-05-21 17:28:11 +02:00
Sébastien Villemot
faa3185bdf
local state space iterations 2 DLL: various modernizations and simplifications
2019-04-30 15:54:49 +02:00
Sébastien Villemot
1199d4abae
kronecker DLLs: various modernizations and simplifications
2019-04-30 15:54:48 +02:00
Sébastien Villemot
de159c0480
mjdgges DLL: convert to C++ (for consistency with other DLLs)
...
Various modernizations and simplifications.
Also remove a workaround for a LAPACK bug in DGGES (the VSL argument was
apparently referenced even though JOBVSL="N"). Hopefully the bug has been fixed
everywhere now.
2019-04-30 15:54:45 +02:00
Sébastien Villemot
b115b76e0d
Kalman steady state DLL: various modernizations and simplifications
2019-04-30 15:54:43 +02:00
Sébastien Villemot
80267f56e5
Block kalman filter DLL: various modernizations and simplifications
2019-04-30 15:54:40 +02:00
Sébastien Villemot
f5e2bfc30a
Ask GCC to warn about C-style casts (-Wold-style-cast)
...
Adapt the code accordingly.
2019-04-23 13:03:20 +02:00
Sébastien Villemot
76e7acab7c
block_kalman_filter DLL: fix header file extension
2019-04-23 09:33:28 +02:00
Sébastien Villemot
c9bdc2c885
Dynare++: simplify methods for getting number of columns and rows of a matrix
...
Previously there were GeneralMatrix::numRows() and TwoDMatrix::nrows() for doing
the same thing (and same for columns and Const versions).
Merge these two into GeneralMatrix::nrows().
2019-04-16 12:44:02 +02:00
Sébastien Villemot
be170f131c
k-order DLL: fix compilation error on Windows introduced by b1ba53ce0
...
Ref #217
2019-04-16 12:13:30 +02:00
Sébastien Villemot
57848930c6
Use Unicode copyright symbol (in UTF-8 encoding)
...
Do not use it in MATLAB source files, since unfortunately the MATLAB editor
does not support UTF-8.
2019-04-16 11:42:16 +02:00
Sébastien Villemot
e281f35213
Lift upper restriction on approximation order
...
Ref #217
2019-04-15 17:34:01 +02:00
Sébastien Villemot
b1ba53ce05
dynare_simul_ DLL: adapt for an arbitrary approximation order
...
The last input argument is now a struct containing matrices g_0, g_1,…
Typically one can pass oo_.dr for this argument.
Ref #217
2019-04-15 17:34:01 +02:00
Sébastien Villemot
68aa1ace8f
k-order DLL: in use_dll mode, get model derivatives from preprocessor at an arbitrary order
...
Ref #217
2019-04-15 17:34:01 +02:00
Sébastien Villemot
a101457cf0
k-order DLL: fix wrong assertion in MATLAB mode
...
Bug introduced in 4c6e911d6
(only apparent under Octave, since under MATLAB
assertions are skipped).
Ref #217
2019-04-15 17:34:01 +02:00
Sébastien Villemot
2169341639
Move source code of gensylv and dynare_simul_ MEX to the same place as other MEX
2019-04-15 17:34:01 +02:00
Sébastien Villemot
4c6e911d69
k-order DLL: in MATLAB mode, get model derivatives from preprocessor at an arbitrary order
...
We no longer use the old ‘modfile.dynamic’ compatibility layer. We directly
call the ‘modfile.dynamic_g*’ functions.
Ref #217
2019-04-12 18:26:31 +02:00
Sébastien Villemot
c31ba8bebf
k-order DLL: in ‘use_dll’ mode, compute # of temp. terms. using M_.dynamic_tmp_nbr
...
The preprocessor no longer exports the ‘ntt’ symbol in the MEX.
Ref #217
2019-04-12 18:26:31 +02:00
Sébastien Villemot
d7dd7214c7
k-order DLL: convert model derivatives from Dynare to Dynare++ format at an arbitrary order
...
Ref #217
2019-04-12 18:26:30 +02:00
Sébastien Villemot
2dc988b69d
k-order DLL: make model derivatives storage ready for an arbitrary order
2019-04-10 19:00:49 +02:00
Sébastien Villemot
85f472c74b
Dynare++: new helpers for constructing {Const,}{TwoD,General}Matrix from mxArray*
2019-04-10 19:00:49 +02:00
Sébastien Villemot
d0b4429fb6
k-order DLL: misc minor improvements
2019-04-10 09:41:58 +02:00
Sébastien Villemot
b556290d60
k-order DLL: simplify and better document correspondence between Dynare and Dynare++ variable orderings
2019-04-10 09:23:32 +02:00
Sébastien Villemot
efa1f39e71
k-order DLL: finally adapt for M_.{endo,exo}_names as cell arrays
2019-04-08 18:47:49 +02:00
Sébastien Villemot
86a607a4fc
k-order DLL: make the output arguments ready for arbitrary order
2019-04-08 18:47:49 +02:00
Sébastien Villemot
fa64a25825
qmc_sequence DLL: various modernizations and simplifications
2019-04-03 19:04:36 +02:00
Sébastien Villemot
dd09264b03
k-order DLL: return unfolded matrices in 5th output argument
...
Thus we can remove unfolding code from k_order_pert.m.
2019-04-02 19:16:13 +02:00
Sébastien Villemot
20cbc30450
k-order DLL: various simplifications
2019-04-02 19:16:10 +02:00
Houtan Bastani
a93c6681c7
clang: can’t print non POD type through variadic function
2019-04-01 16:05:47 +02:00
Sébastien Villemot
4c11e9e9ec
Dynare++ kord and MEX: various modernizations and improvements
2019-03-07 19:46:15 +01:00
Sébastien Villemot
14f85cf448
Dynare++ kord library: various modernizations and improvements
...
Note that I removed several #define whose purpose was to avoid typing "typename
ctraits<t>::…". Even though this tends to complicates the code, this is
probably safer, especially since the #define was capturing a free variable (t).
2019-03-06 18:43:04 +01:00
Sébastien Villemot
6d99b6d120
Dynare++ kord library: various modernizations and simplifications
2019-03-05 18:35:35 +01:00
Sébastien Villemot
58bdee12c3
Dynare++ tensor library: refactor static stuff
...
- encapsulate it more clearly
- make it thread safe
- put back the Pascal triangle initialization stuff removed in 9512a32ad0
2019-02-21 19:00:50 +01:00
Sébastien Villemot
b72857d4ce
Dynare++: the get() method of tensor containers now return a reference
...
Previously it was returning a pointer, which is non-standard for containers,
and was leading to ugly dereferencing everywhere.
2019-02-20 18:06:58 +01:00
Sébastien Villemot
b5793ddd22
Dynare++: use std::unique_ptr for storage inside tensor containers
2019-02-20 17:04:34 +01:00
Sébastien Villemot
9dfb556740
k-order DLL: fix bug introduced in 1f7d3beddc
...
For the IntSequence class, the initialization with {} and () are no longer
equivalent.
2019-02-12 19:09:28 +01:00
Sébastien Villemot
1f7d3beddc
Dynare++ tensor library: modernize the Symmetry class
...
We now use a initializer list constructor for creating symmetries of the form
$y^n$, $y^n u^m$, $y^nu^m\sigma^k$.
The constructor taking a single integer is used to initialize a symmetry of a
given length.
Similar changes are made to IntSequence.
This behavior is similar to std::vector.
2019-02-11 16:45:07 +01:00
Sébastien Villemot
af722f438f
Dynare++: drop remaining "using namespace std"
2019-02-06 19:00:46 +01:00
Sébastien Villemot
733308807d
Dynare++: by default, use as many threads as there are logical CPUs
...
The former default was 2 threads, since Dynare++ was written at a time when
hyper-threading was being generalized (but multiple cores were not).
2019-01-29 16:34:25 +01:00
Sébastien Villemot
752a02a36c
Dynare++: use C++11 threads (instead of POSIX threads API)
...
On Windows, this means that a POSIX threads implementation is no longer needed,
since C++11 threads are implemented using native Windows threads.
On GNU/Linux and macOS, POSIX threads are still used under the hood.
A new m4 macro (AX_CXX11_THREAD) is used to add the proper compilation
flags (instead of AX_PTHREAD).
2019-01-28 18:44:24 +01:00
Sébastien Villemot
1ef1dedc65
Refactor GeneralMatrix and ConstGeneralMatrix classes
...
- Remove the GeneralMatrix(const ConstVector &) constructor, since it is hides
a memory allocation (copying the ConstVector into a fresh Vector). This
helped detecting and fixing several unneeded memory allocations. Some other
memory allocations are now more visible (with an explicit Vector{}
constructor).
- Add checks in GeneralMatrix(Vector, …) and ConstGeneralMatrix(ConstVector, …)
constructors for verifying that the {Const,}Vector has unit-stride (this was
an implicit assumption so far) and is large enough for storing rows*cols
elements.
- Add GeneralMatrix::operator=(const ConstGeneralMatrix &).
- Delete ConstGeneralMatrix::operator=().
2019-01-24 15:27:23 +01:00
Sébastien Villemot
c711d34d1d
Dynare++ / sylvester equation solver: refactor Vector and ConstVector classes
...
- these classes now encapsulate a std::shared_ptr<{const, }double>, so that
they do not perform memory management, and several {Const,}Vector instances
can transparently share the same underlying data
- make converting constructor from ConstVector to Vector explicit, since that
entails memory allocation (but the reverse conversion is almost costless, so
keep it implicit); do the same for GeneralMatrix/ConstGeneralMatrix,
TwoDMatrix/ConstTwoDMatrix
- remove the constructors that were extracting a row/column from a matrix, and
replace them by getRow() and getCol() methods on {Const,}GeneralMatrix
- rename and change the API of the complex version Vector::add(), so that it is
explicit that it deals with complex numbers
- add constructors that take a MATLAB mxArray
2019-01-22 16:13:22 +01:00
Sébastien Villemot
3c5afded8e
k-order DLL: fix build failure
2019-01-10 19:45:11 +01:00
Sébastien Villemot
188d6296d7
Dynare++: finish to apply Dynare C++ coding style and extensions (.cc/.hh)
2019-01-08 17:12:05 +01:00
Sébastien Villemot
ce1ef47093
dynare++ / tensor library (TL): move away from CWEB
...
By the way apply Dynare C++ coding style and extensions (.cc/.hh).
2019-01-08 16:09:25 +01:00
Sébastien Villemot
df772325a2
dynare++/kord: move away from CWEB
...
By the way apply Dynare C++ coding style and extensions (.cc/.hh).
2019-01-04 16:32:05 +01:00
Sébastien Villemot
dcac799289
Fix check for QZ eigenvalue criterium
...
The criterium was previously incorrectly applied to the square absolute value of
eigenvalues. Rather apply it to the absolute value itself (as done in
mjdgges.m and the AIM solver).
Closes #1632
2019-01-02 16:37:30 +01:00
Sébastien Villemot
331a27398a
Fix another memory leak in k-order DLL
...
Re Dynare/dynare#1490 .
2018-11-08 17:30:48 +01:00
Sébastien Villemot
50a09a687e
C++11 modernization
...
Incidentally, fix a memory leak related to DynamicModelAC instantiation, using
a std::unique_ptr (see Dynare/dynare#1490 ).
2018-11-08 17:24:19 +01:00
Sébastien Villemot
ffb36e5713
Remove obsolete kludges for MinGW
2018-10-02 17:10:36 +02:00
Sébastien Villemot
59642c3312
C output of preprocessor now splits generated fcts into several smaller fcts
...
Adapt the k-order DLL as a consequence.
2018-10-01 16:13:12 +02: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
932e5f946c
Update preprocessor submodule
...
Adapt bytecode DLL as a consequence.
2018-07-18 17:52:44 +02:00
Sébastien Villemot
cb46a2697e
Fix invalid memory write in k-order DLL
...
The bug would show at order 3 when the last output argument (derivs) is not
requested (in practice every 3rd order solution without pruning). The DLL would
still attempt to write into it, causing an invalid memory access.
2018-07-02 16:37:46 +02:00
Sébastien Villemot
b2c554623f
Various fixes related to the new layout of generated files
2018-06-28 18:14:40 +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
e1a3c40ef0
Fix compilation of MS-SBVAR DLL under Octave 4.4
2018-06-05 17:07:45 +02:00
Sébastien Villemot
02084ce310
Remove qzcomplex Oct-file
...
It's actually not needed. The QZ complex decomposition can be obtained in
Octave on real matrices by casting them to the complex type.
2018-05-17 12:11:15 +02:00
Sébastien Villemot
e2c2f2d966
Remove fallbacks for ilu, linsolve and ordschur under Octave
...
These functions are all included in Octave 4.2.
2018-05-16 10:48:44 +02:00
Sébastien Villemot
7a2aa211bf
Make mjdgges DLL compatible with MATLAB interleaved complex API
...
This API was introduced in MATLAB 9.4 (R2018a), because the internal
representation of complex numbers has changed.
2018-05-14 15:16:09 +02:00
Houtan Bastani
fb6a11f544
move estimation-dll to its own repository: https://github.com/DynareTeam/estimation-dll.git
2017-09-22 15:31:23 +02:00
Sébastien Villemot
1ff5c3f571
Fix various typos (thanks lintian).
2017-06-28 15:06:54 +02:00
Ferhat Mihoubi
119e5b4dfa
Corrects bugs in bytecode related to the use of finite instead of isfinite and to mxMalloc tests
2017-06-05 18:51:43 +02:00
Stéphane Adjemian (Charybdis)
1bf81c9f5a
Fixed copyright notices.
2017-05-18 18:36:38 +02:00
Stéphane Adjemian (Charybdis)
b4448937cc
Fixed indentation of c/h/cc/hh files.
2017-05-16 16:30:27 +02:00
Stéphane Adjemian (Charybdis)
a53636e24e
Fixed copyright notices.
2017-05-16 14:11:15 +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
Ferhat Mihoubi
857fc3c4f4
Corrects several bugs related to bytecode:
...
- Memory allocation is checked
- The amount of memory allocated for conditional forecast is corrected
2017-04-05 11:48:40 +02:00
Stéphane Adjemian (Charybdis)
1229372a6c
Defines M_PI (cross compilation for Octave).
2016-12-01 13:32:54 +01:00
Stéphane Adjemian (Charybdis)
23642b3b6b
Defines M_PI, M_SQRT2 and finite() in bytecode...
...
... Which are not in standard C/C++ (otherwise compilation of the mex for Octave
with -std=c++11 fails).
2016-12-01 13:32:54 +01:00
Houtan Bastani
e3fbefc616
mjdgges: fix bug where qz_criterium was not taken into account if a threshold argument is also passed
2016-10-27 11:19:34 +02:00
Houtan Bastani
8b17af05d5
bytecode: work around for isnan and isinf bug in C++ standard, glibc <= 2.23.
...
Fixed by https://sourceware.org/bugzilla/show_bug.cgi?id=19439
2016-10-11 16:01:27 +02:00
Michel Juillard
5d38280f27
remove one instance of dynamic exception specification
...
closes issue #1250
2016-07-16 00:13:47 +02:00
ferhat
ac2e5cfd52
- In extended path
...
- fix an error with results print out
- fix an error withe exogenous initialization
2015-11-19 17:03:05 +01:00
ferhat
77f5d572de
Fix the output arguments in case of bytecode failure
2015-11-06 15:06:17 +01:00
Stéphane Adjemian (Charybdis)
2ec1579cd0
Fixed warnings in bytecode compilation.
...
Removed unused variables.
2015-10-19 18:01:38 +02:00
ferhat
7c5272d852
Allows to compute the extended path and the conditional forecasts with bytecode
2015-09-22 15:39:49 +02:00
Houtan Bastani
1b869b26a7
fix dates for changes in 86c3c0fb1b
and a40323d2fb
2015-01-08 18:39:04 +01:00
ferhat
86c3c0fb1b
Checks that fields endo_names, exo_names and param_names exist
2015-01-06 10:30:52 +01:00
ferhat
24b2993f50
Solves issues in deterministic simulation:
...
- replaces maximum_endo_(lead|lag) by maximum_(lead|lag) to determine the maximum number of lead and lag in deterministic simulation
- allows to use bytecode in solve_perfect_foresight_model.m
- Adds model information in bytecode
2014-12-17 09:37:43 +01:00
Sébastien Villemot
41295ad602
Minor cleanups in k_order_perturbation DLL.
2014-03-21 17:26:55 +01:00
Sébastien Villemot
050b495a52
Fix an invalid memory access in k_order_perturbation DLL.
...
In the case where a 2nd/3rd derivative is symbolically not zero but numerically
zero at the evaluation point, the last lines of the g2/g3 matrices (in
KordpDynare::calcDerivativesAtSteady()) where uninitialized (these matrices
store the sparse hessian/3rd-deriv in coordinate list form, i.e. with 3 columns
and as many rows as non-zero elements). When reconstructing the dense
hessian/3rd-deriv matrix out of g2/g3, this would result in invalid memory
accesses.
2014-03-21 17:26:48 +01:00
Michel Juillard
45f7de33e8
sobol qmc_sequence MEX: dimension larger than 1111 returns a proper
...
Matlab error message instead of crashing
2014-02-15 21:11:42 +01:00
Sébastien Villemot
5308da2cad
Upgrade the minimum requirement to MATLAB 7.5 (R2007b).
2014-02-03 15:52:54 +01:00
Sébastien Villemot
e5d4defb41
Fix handling of qz_criterium in k_order_perturbation MEX.
...
If the MEX file was called with options_.qz_criterium=[], it would not use a
correct default value (but would use NaN).
Closes #574
2014-01-27 15:33:37 +01:00
Sébastien Villemot
66d48f5917
Compatibility fixes for Octave 3.8.
...
- no longer use OCTAVE_QUIT in MEX files; this seems now only possible in
oct-files. (Ref #304 )
- do not build linsolve.oct on Octave >= 3.8, it is available natively.
- do not add strjoin.m to the patch on Octave >= 3.8, it is available natively.
- default_save_options has been renamed save_default_options.
2014-01-03 11:05:39 +01:00
Sébastien Villemot
85f001885e
Estimation DLL: fix bug with creating MAT files
...
Similar problem to #446
2013-12-06 14:46:44 +01:00
Houtan Bastani
a8d07308a9
ms-sbvar: support ctrl-c changes in submodule, #304
2013-12-05 16:13:58 +01:00
Houtan Bastani
830c09760e
preprocessor: remove clang warning on declaration of const static double in class definition
2013-11-22 14:59:34 +01:00
Houtan Bastani
3c75923e2d
revert £ change as 156 is an extended ascii code
2013-11-05 19:06:20 +01:00
Houtan Bastani
0e4bb3f8e9
fix typo
2013-11-05 18:06:24 +01:00
Houtan Bastani
5352fb4d16
preprocessor and matlab mex fixes for clang compilation
2013-11-05 18:04:57 +01:00
ferhat
f4cee9d5e5
Corrects a bug in the way to test for the presence of the global variables
2013-10-28 14:26:42 +01:00
Stéphane Adjemian (Charybdis)
399b6d2615
Specialized maxit in bytecode mex (dynamic simulation vs steady state).
2013-10-09 16:55:46 +02:00
Stéphane Adjemian (Charybdis)
d8052342f3
Fixed bug introduced in cc0d9b42f0
(bytecode.cc).
...
Problem when reading nested structures.
2013-10-09 16:26:29 +02:00
Stéphane Adjemian (Charybdis)
cc0d9b42f0
Changed name of options_.maxit as options_.simul.maxit.
2013-10-09 13:06:06 +02:00
Sébastien Villemot
c34c90e8cb
Fix bug in linsolve when second argument is a zero-column matrix
...
Fixes crash of 1st-order purely forward models under Octave
2013-08-15 12:19:51 +02:00
Stéphane Adjemian (Charybdis)
5a4399e9b3
Removed openmp pragmas in bytecode.
...
This commit fixes #420 , so that bytecode doesn't crash when Dynare is compiled with --enable-openmp flag.
2013-07-11 15:12:41 +02: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
Sébastien Villemot
f1c8ec60c7
Remove various compilation warnings
2013-06-12 16:05:35 +02:00
Sébastien Villemot
555fc98673
Fix bug in gemv binding
2013-06-12 16:05:35 +02:00
Stéphane Adjemian (Charybdis)
7fc92c96d9
Fixed bug related to the test on the number of input arguments.
2013-06-12 10:21:27 +02:00
Stéphane Adjemian (Charybdis)
b81fcbeeb1
Added an option for the threshold level of the 0/0 generalized eigenvalue test.
...
The option is passed in the fourth input argument of mjdgges. If the
mex is called with less than four arguments, then the threshold level
takes its previous (hardcoded) default value: 1e-6.
2013-06-12 09:46:32 +02:00
Ferhat Mihoubi
b1da2f2b7d
"slowc" option is now available to solve a simple equation in bytecode
2013-06-10 16:46:54 +02:00
Ferhat Mihoubi
bdee6d14ec
Fix the problems related to the initialization of ilu preconditioner using BiCGStab and also a bug in the BiCGStab in case of block (without bytecode) model options.
2013-06-08 17:16:20 +02:00
ferhat
4e7050baf9
Use ilu with type=ilutp instead of nofill
...
Contrary to luinc command ilu with nofill option doesn't not allow for partial
pivoting
2013-05-23 11:44:29 +02:00
Sébastien Villemot
2670be408e
Bug fix in steady state solver
2013-04-19 18:01:19 +02:00
Sébastien Villemot
7495668ef2
Minor simplification and improvements
2013-04-19 18:01:19 +02:00
Sébastien Villemot
e1f702f83a
Various fixes to steady state computation in estimation DLL
...
Still not working… Valgrind detects unitialized values during the call to
hybridjs…
2013-04-18 18:28:34 +02:00
Stéphane Adjemian (Charybdis)
8eed899f92
Fixed bug. Compilation of bytecode was crashing with USE_OMP.
2013-04-18 11:20:35 +02:00
Sébastien Villemot
8dbf195422
Compatibility fix with GCC 4.8
2013-04-15 17:18:38 +02:00
Sébastien Villemot
3025a14ed9
Adapt for removal of luinc in MATLAB R2013a
2013-03-25 12:05:56 +01:00
Sébastien Villemot
37592309fb
Distribute dynumfpack.h in tarball
2013-03-24 09:42:45 +01:00
Sébastien Villemot
1db892efc4
Fix compilation problems of bytecode with UMFPACK and MATLAB's libut
2013-03-23 13:02:07 +01:00
Ferhat Mihoubi
19032f4b07
Adds an umfpack definition file for matlab on windows
2013-03-22 16:38:34 +01:00
Ferhat Mihoubi
43a50dd395
- adds the kernel CUDA file for SparseMatrix
2013-03-22 16:36:30 +01:00
Ferhat Mihoubi
dfa744fcb3
- adds new files: Evaluate.cc and Evaluate.hh to bytecode
2013-03-22 16:34:50 +01:00
Ferhat Mihoubi
2a51248832
Adds a block Kalman filter using GPU
2013-03-22 15:47:57 +01:00
Ferhat Mihoubi
03e487a092
Major update of bytecode:
...
- Iterative linear solvers using CUDA
- interpreter.cc decomposed
2013-03-22 15:44:34 +01:00
Sébastien Villemot
ba889e853c
Preprocessor interface and documentation for endogenous_prior option
...
Closes #321
2013-03-18 11:12:49 +01:00
Sébastien Villemot
f89edf476e
Start refactoring of penalty handling
...
Handle all events that lead to a penalty through an exception.
Next steps:
- make all exceptions derive from a common class containing info code and
penalty value
- catch these exceptions at the top-level, and construct the penalty-adjusted
likelihood
2013-03-06 17:55:15 +01:00
Sébastien Villemot
82930ee29a
Implementation of steady state computation in estim DLL, using the GSL
...
Does not seem very robust (fails on fs2000), need to investigate why.
2013-03-06 16:58:22 +01:00
Sébastien Villemot
871cbbe448
Construct the filename of the dynamic MEX file only at the deepest level
...
In the calling chain, only pass the basename of the MOD file.
2013-03-05 14:45:47 +01:00
Sébastien Villemot
325a2ea90e
Remove unused field n_exog of DynamicModelDLL class
2013-03-05 13:00:57 +01:00
Sébastien Villemot
75fbd38524
Handle constant in Kalman filter
...
Previously, the filter was only working with options_.noconstant, i.e. when the
data are centered.
2013-02-07 18:34:17 +01:00
Sébastien Villemot
be2764520a
Estimation DLL: explicitly fail with option loglinear or observation trends
2013-02-07 17:00:48 +01:00
Sébastien Villemot
6fc94a12d0
C++ DecisionRules: support models with no static variables
2013-02-07 16:03:11 +01:00
Sébastien Villemot
ea3d2cd1ed
Include right header in definition of LogLikelihoodSubSample
2013-02-05 15:49:47 +01:00
Sébastien Villemot
da046d378e
Fix typos
2013-02-05 15:49:27 +01:00
Sébastien Villemot
a06e3d9714
Clarify error message of logposterior DLL for purely backward/forward models
2013-02-05 14:57:38 +01:00
Sébastien Villemot
21055da526
Remove incorrect use of static keyword
...
This leads to a crash when the DLL is called several times in the same
Octave/MATLAB session.
2013-01-30 18:39:18 +01:00
Sébastien Villemot
deb9ece36d
Fix MOD-file name in Kalman tests
2013-01-30 16:44:10 +01:00
Sébastien Villemot
f60acd4366
Relax criterion for decision rules test
...
Otherwise it fails with on Karaba
2013-01-30 16:43:35 +01:00
Sébastien Villemot
b3acdc0836
Make various functions more generic, using templates
...
This was necessary to make some tests work again
2013-01-30 16:43:02 +01:00
Sébastien Villemot
02fee79fc7
Add some sanity checks
2013-01-30 16:27:13 +01:00
Sébastien Villemot
5beec53458
Remove unused function prototype
2013-01-30 16:26:56 +01: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
Sébastien Villemot
31a13db66a
Remove duplicate information in M_.blocksMFS
2012-11-16 17:39:03 +01:00
Sébastien Villemot
bc1872625b
Fix typo in previous commit
2012-11-06 14:44:29 +01:00
Ferhat
50fd1a4c0d
In the two boundaries solver, gives up the symbolic solver if a stable computation solution could not be found on the first third of the simulation period
2012-11-06 14:38:51 +01:00
Sébastien Villemot
c031b463ff
Use my @dynare.org address
2012-10-01 16:41:18 +02:00
Sébastien Villemot
0332309647
Remove embedded SLICOT, rely on external binary
2012-09-13 11:08:42 +02:00
Sébastien Villemot
53709a3214
Ensure compatibility with matio 1.5
...
Closes : #275
2012-08-07 14:44:45 +02:00
Houtan Bastani
e5dd2d31ec
fix typo
2012-08-07 11:39:47 +02:00
Sébastien Villemot
2e65a9ab96
Provide a better implementation of linsolve for Octave
...
Closes : #273
2012-08-06 18:26:16 +02:00
Michel Juillard
f5f5ca1a83
removing printing used for debugging
2012-08-01 18:38:42 +02:00
Michel Juillard
2244af9c62
adding pruning option for 3rd order
2012-07-31 21:50:59 +02:00
Michel Juillard
84164dc57e
adding possibility to pass derivative matrices to k_order_perturbation
...
MEX function
2012-07-07 21:21:28 +02:00
Michel Juillard
287b134884
k_order mex: added derivatives as members of KorderpDynare
2012-07-06 13:52:17 +02:00
Sébastien Villemot
83623723d9
Block kalman filter: enclose OpenMP statements in conditionals
2012-06-11 14:31:33 +02:00
Sébastien Villemot
4a9592a50c
Fix LAPACK type error
2012-06-11 12:25:56 +02:00
Ferhat Mihoubi
2a8436aa44
Extends the block Kalman filter to the missing observations case (not called for the moment)
2012-06-11 10:39:25 +02:00
Sébastien Villemot
02efbd31a8
Convert files to Unix EOL
2012-06-08 19:10:19 +02:00
Sébastien Villemot
c079ace8c3
Remove various compiler warnings
2012-06-08 19:06:03 +02:00
Sébastien Villemot
1f9cea669a
Update copyright notices
2012-06-08 18:22:34 +02:00
Ferhat Mihoubi
6cb7a5f1e5
Corrects a bug in the arguments returned by bytecode
2012-06-06 16:32:01 +02:00
Ferhat Mihoubi
7dbd826d7e
Code cleaning
2012-06-06 16:30:28 +02:00
Sébastien Villemot
f36f76760a
Fix bug where the nth derivative of 0^n evaluated to 0 instead of n!
...
(complement to commit cd0bc28e
)
2012-05-21 18:34:10 +02:00
Michel Juillard
e63c41184c
bytecode: removing debuging message
2012-05-20 14:37:30 +02:00
Sébastien Villemot
615535ad88
Fix compilation errors with GCC 4.7
2012-05-08 16:10:10 +02:00
Houtan Bastani
b96c35a1a4
ms-sbvar: remove unused code
2012-04-13 15:56:25 +02:00
Houtan Bastani
402363bab2
MS-SBVAR: rewrite ms_variance_decomposition
2012-03-08 17:54:35 +01:00
Houtan Bastani
5f60f1bd27
MS-SBVAR: rewrite ms_forecast
2012-03-08 17:54:05 +01:00
Houtan Bastani
864e0b7c7e
MS-SBVAR: rewrite ms_irf
2012-03-08 17:53:58 +01:00
Ferhat Mihoubi
3730957e9f
Considers both 'inf' and 'nan' results in functions return and improves an error message
2012-03-06 11:09:46 +01:00
Ferhat Mihoubi
3072c6e611
Displays more details in case of singular system
2012-03-06 11:03:13 +01:00
Stéphane Adjemian (Charybdis)
a2f3a53634
Parallelization of local_state_space_iteration_2 (used in non linear filters).
2012-03-05 23:11:49 +01:00
Sébastien Villemot
c49d33e6ba
Add local_state_space_iterations subdir to dist rule
2012-03-05 18:53:59 +01:00
Stéphane Adjemian (Charybdis)
40329e3e29
Added routine to compute one step ahead state space iteration (mex and m). The state space
...
equations are approximated at order two around the deterministic steady state.
2012-03-04 22:07:27 +01:00
Sébastien Villemot
89ca683ab9
Fix "make dist" following changes in estimation DLL
2012-02-24 12:21:33 +01:00
Michel Juillard
da0beac147
updating calling sequence for estimation dll and introducing templates
...
when necessary
2012-02-23 18:39:41 +01:00
Ferhat
eb567f5202
Cleaning the code: getting rid of unused variables
2012-02-17 10:59:39 +01:00
Sébastien Villemot
a66594caed
Add MEXEXT define to build system, adapt relevant DLL and Windows packaging
...
Closes : #235
2012-01-09 12:39:09 +01:00
Stéphane Adjemian (Charybdis)
3e84e333b4
Changed verbosity options (fast deterministic simulations). Default is options_.verbosity==1.
2011-12-26 17:46:48 +01:00
Sébastien Villemot
cb9858d6a5
Minor improvements and bugfix to qmc_sequence
...
* make 2nd argument optional
* fix bug related to 3rd argument
* simplify code
2011-12-26 16:09:33 +01:00
Sébastien Villemot
a1c466a3bb
Fix license notice of qmc_sequence MEX
2011-12-26 15:40:44 +01:00
Sébastien Villemot
1d4301bd97
Fix build failure on Octave/32-bit
2011-12-26 14:41:02 +01:00
Stéphane Adjemian (Charybdis)
6bb3a1c736
Fixed bug. Wrong calling sequence to dgemm.
2011-12-23 12:10:23 +01:00
Stéphane Adjemian (Charybdis)
b9d47ae42e
Fixed the inverse Gaussian Cumulative Distribution Function. Return -Inf/Inf if input is equal to
...
0/1.
2011-12-23 11:16:06 +01:00
Stéphane Adjemian (Charybdis)
be6f82f145
Fixed bug (wrong size in memcpy for the last input argument).
2011-12-23 10:43:52 +01:00
Stéphane Adjemian (Charybdis)
dccc8478aa
Fixed warning message (warning: cast to pointer from integer of different size).
2011-12-22 13:08:26 +01:00
Stéphane Adjemian (Charybdis)
699b93b9d4
Fixed mex error message (use DYN_MEX_FUNC_ERR_MSG_TXT).
2011-12-22 12:14:39 +01:00
Stéphane Adjemian (Charybdis)
1aa26572f4
Fixed headers.
2011-12-22 12:11:20 +01:00
Stéphane Adjemian (Charybdis)
645dc7dc45
Fixed headers.
2011-12-22 11:32:53 +01:00
Stéphane Adjemian (Charybdis)
4869fff243
Added new mex file for computing Quasi Monte-Carlo sequences (Sobol), texinfo headers and unitary tests are available in <DYNARE_PATH>/matlab/qmc_sequence.m.
2011-12-21 18:23:15 +01:00
Stéphane Adjemian (Charybdis)
3ba5a645be
Make verbosity flag effective: do not print informations about perfect foresight solvers if options_.ep.verbosity=0.
2011-12-12 14:20:14 +01:00
Stéphane Adjemian (Charybdis)
a36cf30118
Make options_.dynatol specific to x/f by adding dynatol.x and dynatol.f. By default dynatol.x=dynatol.f= old default value of dynatol.
2011-12-12 14:20:14 +01:00
Sébastien Villemot
fefe425c61
mjdgges: add missing math.h header (for fabs())
2011-12-12 10:35:39 +01:00
Michel Juillard
6927a261e3
changing int* in lapack_int*
2011-11-26 10:59:22 +01:00
Ferhat Mihoubi
1f8e4a517b
Corrects the computation of the determinant of the covariance of the forecast error
2011-11-25 14:45:54 +01:00
Ferhat Mihoubi
715e528462
Corrects bugs in case of singular covariance matrix of the forecast error
2011-11-25 14:44:23 +01:00
Ferhat Mihoubi
bae787c5a1
Provides informations on errors from BLAS
2011-11-25 14:31:26 +01:00
Ferhat Mihoubi
7df4621b6b
Correct the size of covariance matrix of innovations
2011-11-25 14:27:25 +01:00
Michel Juillard
b58eaa8e2b
introducing new test for 0/0 case in mjdgges
2011-11-18 22:12:36 +01:00
Sébastien Villemot
d4b4060d69
Fix build failure with -Werror=format-security
...
See Debian bug #646258 (http://bugs.debian.org/646258 ) and
http://wiki.debian.org/ReleaseGoals/SecurityHardeningBuildFlags for details.
2011-11-07 15:29:06 +01:00
Ferhat Mihoubi
d336bb00a0
Correction of a bug the dimension of Q matrix is equal to the number of shocks, not to the number of observable variables
2011-10-28 22:40:05 +02:00
Ferhat Mihoubi
ca10372607
* Correction of a bug appearing in a block decomposed model when an observable variable are also a state variable
2011-10-28 22:25:05 +02:00
Sébastien Villemot
ebcc9d8f91
Fix crash of mjdgges when options_.qz_criterium = []
2011-09-28 16:00:36 +02:00
Sébastien Villemot
a1ee7f1ee4
block_kalman_filter: add MEX to build system
2011-09-23 18:22:15 +02:00
Sébastien Villemot
324ad05ec1
block_kalman_filter: fix memory leak
2011-09-23 18:22:00 +02:00
Sébastien Villemot
3f2e29f7bf
Adapt block_kalman_filter to Dynare's way of handling errors in MEX files
2011-09-23 18:21:04 +02:00
Sébastien Villemot
b21a99d9d2
Adapt block_kalman_filter for Dynare's BLAS/LAPACK framework
2011-09-23 18:15:18 +02:00
Ferhat Mihoubi
3d1a0c2652
block-Kalman filter is now available when block option is used
2011-09-20 14:18:31 +02:00
Stéphane Adjemian (Charybdis)
560800bcc5
Changed the order of the output arguments in kronecker product related mex routines.
2011-09-05 18:57:42 +02:00
Houtan Bastani
d7c06ead1e
ms-sbvar bugfix: replace shocks with shocks_per_parameter
2011-08-30 16:12:00 +02:00
Houtan Bastani
6ef0f0c94d
ms-sbvar bugfix: remove option shocks as it is not used
2011-08-23 13:43:24 +02:00
Houtan Bastani
383b12df0e
ms-sbvar bugfix: change the way options are passed to irf, forecast and variance decomposition mex functions
2011-08-23 13:43:24 +02:00
Ferhat Mihoubi
567ef44f6d
- Corrects the simulation period for a forward looking system
2011-08-11 14:15:49 +02:00
Stéphane Adjemian (Charybdis)
52fa569f00
Changed default value of the tolerance parameter.
2011-06-28 14:49:56 +02:00
Stéphane Adjemian (Charybdis)
f2450932da
Use DYN_MEX_FUNC_ERR_MSG_TXT when INFO>0.
2011-06-28 14:49:56 +02:00
Stéphane Adjemian (Charybdis)
10a21fdaa8
Cosmetic changes.
2011-06-28 14:49:56 +02:00
Ferhat Mihoubi
fe1b241186
Add an option in bytecode to prevent the display of error messages .
2011-06-18 17:15:47 +02:00
Jacob Smith
a07b0ae614
Bug Fix, when using parameter uncertainty on multiple regimes
2011-06-16 10:30:07 -04:00
Sébastien Villemot
fee32bdf25
Fix compilation problems with GCC 4.6
2011-06-13 11:38:09 +02:00
Michel Juillard
d53a1f5d04
MS-SBVAR: bug correction (replacing mxFree by free for space allocated with new)
2011-05-31 11:31:38 +02:00
Houtan Bastani
a44a384146
remove extraneous code
2011-05-23 17:36:29 +02:00
Houtan Bastani
561d07e89b
SWZ: bug fix
2011-05-20 14:34:21 +02:00
Houtan Bastani
cd021d33f6
SWZ: make mex files return error code
2011-05-20 14:34:07 +02:00
Sébastien Villemot
5fa666e448
k-order perturbation: cosmetic change related to mxGetPr/mxGetData
2011-05-20 10:59:40 +02:00
Sébastien Villemot
f5b35df24f
k-order perturbation: fixed bug in M-file evaluation
2011-05-20 10:59:40 +02:00
Jacob Smith
da43f3d0f5
Adding Mex Functionality to work with new MS-SBVAR Code, includes Forecasting,IRF,Variance Decomposition, Plotting and new global settings
2011-05-13 15:13:02 +02:00
Ferhat Mihoubi
31b6c08347
Correct a bug when the model contains deterministic exogenous variables and bytecode option is used.
...
Note that stochastic simulations do not work for the moment with block option.
2011-03-18 01:09:20 +01:00
Ferhat Mihoubi
f48aa28e39
Corrections for steady_state operator bug with bytecode. bytecode is now fixed.
2011-03-14 17:46:00 +01: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
Houtan Bastani
b744707672
change macro defines to accord with change in submodule code
2011-03-04 11:35:38 +01:00
Sébastien Villemot
f6c51d4cc4
libslicot: fix typo (thanks to Thomas Weber)
2011-02-23 10:07:59 +01:00
Sébastien Villemot
eb0255d526
Build system: add MS-SBVAR to dist tarball
2011-02-22 16:51:23 +01:00
Houtan Bastani
f2e2f68223
SWZ: centralize mex changes, remove unused functions
2011-02-22 15:06:38 +01:00
Houtan Bastani
a1ade98209
SWZ: move mex files under mex/sources
2011-02-22 15:06:38 +01:00
Houtan Bastani
670a40836f
add blas functions to dynblas.h
2011-02-22 15:06:38 +01:00
Houtan Bastani
2ec494f1c9
kalman_steady_state: remove instances of mexErrMsgTxt
2011-02-11 12:25:14 +01:00
Houtan Bastani
69375f4b93
logMHMCMCposterior: remove instances of mexErrMsgText
2011-02-11 12:25:10 +01:00
Houtan Bastani
4ac3a6c5a4
replace mex.h with dynmex.h
2011-02-11 12:24:13 +01:00
Sébastien Villemot
7717da4316
K-order DLL: remove warning about NOMINMAX
2011-02-07 12:37:47 +01:00
Sébastien Villemot
3fa2339cfe
Estimation DLL: remove warning about NOMINMAX
2011-02-07 12:37:34 +01:00
Sébastien Villemot
0f9ec8b2dc
K-order DLL: add test for NaN/Inf in param/steady-state vectors to avoid crashes (thanks to J. Pfeifer for reporting this)
2011-02-07 11:12:57 +01:00
Sébastien Villemot
02652f6eb8
Updated copyright notices
2011-02-04 17:27:33 +01:00
Sébastien Villemot
cc2a9d90ac
Global reindentation of MEX source files
2011-02-04 16:53:12 +01:00
Ferhat Mihoubi
6f184371ef
- Correction of temporary terms when bytecode is used and solve_algo <= 4
2011-02-02 00:31:37 +01:00
Ferhat Mihoubi
66a7884a15
- Corrects the "if (~eval)" displayed with print option in bytecode
2011-01-31 17:44:22 +01:00
Ferhat Mihoubi
3393eebf71
When a model is evaluated with bytecode the residual has to be returned in the equations order (not in the variables order)
2011-01-31 12:30:16 +01:00
Ferhat Mihoubi
ce07223628
- The Temporary terms management with bytecode when the model is block decomposed and solve_algo<5 is now compatible with octave
...
- Gets rid of warning message during the compilation of bytecode
2011-01-14 19:24:18 +01:00
Ferhat Mihoubi
206fff0e71
- Corrects the following problem:
...
Octave BiCGStab algorithm involves a 0 division in case of a preconditioner equal to the LU decomposition of the A matrix (in a linear system of the form A.x = b).
- The solution:
Checks if the linear system is solved simply using: x_new = x_old + U \ (L \ x_old)
Ticket #11
2011-01-14 10:39:33 +01:00
Sébastien Villemot
ffc53ca910
Fix integer types in Kronecker DLLs
2011-01-13 19:34:49 +01:00
Ferhat Mihoubi
20f414e0d2
- Extends the error messages in bytecode
...
- Implements the print option in bytecode
- Minor modifications to manage the global temporary terms
2010-12-31 16:41:50 +01:00
Ferhat Mihoubi
313f64e153
- Adds option 'print' to bytecode
...
- Manages global temporary terms when the model is evaluated block by block
- Stores the result of a first order derivative only in case of numerical approximation. Do nothing if an external function is called to compute the first order derivatives (it has already been done during the function call)
- Cleans the code
2010-12-31 16:37:34 +01:00
Ferhat Mihoubi
816dbefa28
- Corrections in the debugging conditional preprocessor expressions
2010-12-31 16:29:39 +01:00
Sébastien Villemot
9aa79c6140
Another build system fix
2010-12-28 10:50:51 +01:00
George Perendia
887209208f
Estimation C++ DLL: Adding the new Proposal class with common, adjustable seed for both normal and uniform rng and the associated changes including the removal of now obsolete RandSampler class.
2010-12-24 09:49:59 +00:00
Houtan Bastani
a11817cfa4
k-order: added support for m-files, added tests and modified manual
2010-12-22 09:48:05 +01:00
Houtan Bastani
d0853e1658
k-order: removed unnecessary check
2010-12-22 09:48:05 +01:00
Ferhat Mihoubi
7a58637932
- Displays an error message and interrupts the execution of bytecode in case of unknown function
2010-12-17 18:54:03 +01:00
Ferhat Mihoubi
129d404eb8
- The binary operator oDerivPower is implemented in bytecode
2010-12-17 18:54:03 +01:00
Houtan Bastani
d69d225b82
k-order: removed unused variable from class definition
2010-12-17 12:16:32 +01:00
Sébastien Villemot
aa58f7bd37
Estimation DLL, QRDecomposition: removed unused data members
2010-12-17 10:52:00 +01:00
George Perendia
424bd8257b
Estimation C++ DLL: Bug fixing in KalmanFilter.cc - re-setting a_init and some minor refactoring and tidying up
2010-12-17 09:02:24 +00:00
Houtan Bastani
b63590712c
fixed bug in argument number check and removed unused variable
2010-12-14 18:42:29 +01:00
Sébastien Villemot
1329b57ff2
Estimation DLL: fix DecisionRules::compute() (was not reentrant, since GeneralizedSchurDecomposition::compute() modifies D and E)
2010-12-13 17:15:08 +01:00
George Perendia
915bb4c451
Estimation C++ DLL: Bug-fixing Sampler
2010-12-11 19:22:27 +00:00
Michel Juillard
d38c4de498
estimation_dll: adding test for logposterior
2010-12-10 21:34:40 +01:00
Ferhat Mihoubi
97664607b2
- external functions are compatible with block decomposition and/or bytecode
2010-12-10 12:06:50 +01:00
Sébastien Villemot
befa1b966b
Estimation DLL: removed illegal casts from pointer to integer
2010-12-09 10:49:44 +01:00
George Perendia
fa3e19fdfb
C++ Estimation DLL: Update of logMHMCMCposterior.cc with a draft octave MAT draws file save and adding a test random_walk_metropolis_hastings_core.m: Octave version crashes at start of DLL and Matlab version finishes with low acceptance due to frequent B&K and reports error within debugger too - needs more debugging!
2010-12-07 23:03:11 +00:00
Sébastien Villemot
2d84d8dc49
K-order DLL: code simplification
2010-12-06 17:01:06 +01:00
Sébastien Villemot
a9b4331a95
Bugfix at order 3 (hopefully was not affecting final results, thanks to Pablo Winant for spotting this):
...
- in the 3rd derivatives matrix, among symmetric elements, the first one had
the right values but the following ones were set to zero
- moreover, the k-order DLL was trying to add all the symmetric elements in the
folded tensor, instead of only keeping one value among all the symmetric ones
- hopefully, Ondra's tensor library was (silently) refusing to add symmetric
elements after the first (and right) value had been added
- so the final result was correct
2010-12-06 17:00:46 +01:00
Ferhat Mihoubi
bdfa881a96
Reorganization of error handling in bytecode
2010-11-25 16:11:05 +01:00
Stéphane Adjemian (Charybdis)
010c4c0c20
Fixed bug in kalman_steady_state.cc related to long integer and (mkl) lapack calls. Changed building system by adding -fdefault-integer-8 flag to gfortran when slicot is compiled on a 64-bits platform.
2010-11-25 14:35:46 +01:00
Sébastien Villemot
5a9615951c
Kronecker DLL: fix minor issue (was creating a lot of warnings under Octave)
2010-11-24 19:12:03 +01:00
Sébastien Villemot
43f69d27e8
Kalman steady state DLL: minor fixes
2010-11-22 12:22:45 +01:00
Sébastien Villemot
b8aae7bbf9
Fix underscoring problems with Fortran code
2010-11-22 12:22:22 +01:00
Sébastien Villemot
81342073c0
Build system: added kalman_steady_state DLL sources to dist file
2010-11-22 10:39:19 +01:00
Stéphane Adjemian (Charybdis)
dfbbc415cd
Merge remote branch 'origin/master'
2010-11-19 14:49:26 +01:00
Stéphane Adjemian (Charybdis)
160922a189
Added mex file for computing the fixed point of the riccati equation in the kalman filter.
...
The mex works with octave but not with matlab (lapack issue again ;-).
2010-11-19 14:39:54 +01:00
Sébastien Villemot
b3ee886391
Build system: added libslicot to dist file
2010-11-19 09:22:00 +01:00
Stéphane Adjemian (Charybdis)
d5b032c99f
Moved test files for kronecker product mex files from ./mex/sources/kronecker/tests to ./tests/kronecker.
2010-11-18 16:01:21 +01:00
Stéphane Adjemian (Charybdis)
382ab96cde
Added the Slicot library (distributed under the GNU General Public Licence at www.slicot.org). This library provides routines
...
for the design and analysis of control systems. Adapted the building system to handle fortran 77 source files.
2010-11-18 10:11:27 +01:00
Stéphane Adjemian (Charybdis)
5c709e4733
Changed set_dynare_threads.m. The number of threads in parallelized mex files to be used if dynare is built with the openmp flag
...
(--with-openmp) is not passed by an environment variable anymore. The function set_dynare_threads changes the default value of the
number of threads (default is 1) in the options_.threads structure. Changed calls to sparse_hessian_times_B_kronecker_C and
A_times_B_kronecker_C dlls accordingly.
2010-11-15 13:06:39 +01:00
Sébastien Villemot
dbe288e3ca
Make sure "min" and "max" macros are never defined under Windows, this can create conflicts with "std::min" and "std::max"
2010-10-29 12:01:47 +02:00
Sébastien Villemot
48096db2ff
Build system: add logMHMCMC DLL
2010-10-28 10:17:58 +02:00
Sébastien Villemot
036867765b
logMHMCMCposterior: minor compatibility fix for Octave (the 3rd arg of mexPutVariable() is not marked "const" under Octave)
2010-10-28 10:17:38 +02:00
Sébastien Villemot
8d3d004105
logMHMCMCposterior: under Octave, do load/save MAT files, because the "mat.h" interface does not exist
2010-10-28 10:15:53 +02:00
Ferhat Mihoubi
1aceb504fd
Check command is now compatible with block and bytecode options
2010-10-27 15:34:48 +02:00
Ferhat Mihoubi
36941dd704
- During an evaluation of the model with bytecode stores all Jacobian matrix (w.r. to endogenous of the current block, exogenous and endogenous from previous blocks) in M_block_structure.block(j)
2010-10-27 15:30:01 +02:00
Ferhat Mihoubi
7ea9d28afd
- updates the third output argument when it is M_.block_structure.block
2010-10-27 15:30:01 +02:00
George Perendia
f8815c8896
C++ Estimation DLL: Update to logMHMCMCposterior.cc mexFunction DLL driver: its call to close waitbar seems to cause crashes and it is for now left commented out and the waitbar neeeds to be closed manually or,
...
alternativelly, call dll with options_.console_mode=1
2010-10-26 18:31:32 +01:00
Ferhat Mihoubi
39718c8645
- extends steady algorithms to solve_algo=5, 6, 7 and 8 for a block decomposed model without bytcode
...
- solve_algo is reordered =
* 0: fsolve
* 1: solve1
* 2, 4: solve1 + block decomposition
* 3: csolve
* 5: bytecode own solver (use Gaussian elimination + sparse matrix)
* 6: LU decomposition with UMFPack (method handling sparse matrix in Matlab)
* 7: GMRES
* 8: BiCGStab
2010-10-22 16:49:47 +02:00
Ferhat Mihoubi
1a09426706
- Correction of several bugs with Octave
...
- Add wrapper needed to compute the steady-state using bytecode and solve_algo = 0, ..., 4
2010-10-22 10:09:07 +02:00
Sébastien Villemot
cab8941c29
qzcomplex and ordschur oct-files:
...
- added embedded tests
- minor cosmetic changes
2010-10-21 15:58:24 +02:00
Sébastien Villemot
81823ad035
New oct-file for "ordschur": the diffuse filter now works under Octave
2010-10-21 15:43:13 +02:00
Sébastien Villemot
69fc0e320b
New oct-file "qzcomplex" for bringing the complex QZ decomposition to Octave. Fixes issues with partial information under Octave.
2010-10-21 12:33:18 +02:00
George Perendia
9123e4e70c
C++ Estimation DLL: Update of logMHMCMCposterior and auxiliary files: added progress bar and recovery from file and tied up few loose ends - still unstable !
2010-10-14 23:31:25 +01:00
Ferhat Mihoubi
8f36437662
- Extends the algorithms compatible with bytecode to compute the steady-state (ticket #11 ). The new values for solve_algo are:
...
* 0: fsolve
* 1: solve1
* 2, 4: solve1 + block decomposition
* 3: csolve
* 5: LU decomposition with UMFPack (method handling sparse matrix in Matlab)
* 6: GMRES
* 7: BiCGStab
* 8: bytecode own solver (use Gaussian elimination + sparse matrix)
- Bytecode can now evaluate a specific block instead of the overall blocks (new bytecode's option 'Block = block_number')
2010-10-11 19:21:32 +02:00
Ferhat Mihoubi
4b824ad8ed
- extends the error messages in mex_interface (necessary to emulate the mex functions in a standalone mode for debugging purposes)
2010-10-11 18:09:31 +02:00
Ferhat Mihoubi
f6835d1d61
- adds bytecode_debug.m m-file to save the global variables. Necessary to run bytecode in a standalone mode for debugging purposes.
2010-10-11 18:01:44 +02:00
Ferhat Mihoubi
9a0201b26a
Minor corrections on ErrorHandling
2010-10-11 17:56:23 +02:00
Sébastien Villemot
dbbe177ed6
Estimation DLL: fix bug related to number of rows of matrix of endogenous (nb_row_x was incorrectly initialized in dynamic C file)
2010-10-05 16:30:21 +02:00
Sébastien Villemot
eea1bcc27c
k-order DLL: fix bug related to number of rows of matrix of endogenous
...
(nb_row_x was incorrectly initialized in dynamic C file)
2010-10-05 15:28:15 +02:00
George Perendia
d7e8870c18
C++ Estimation DLL: Adding draft logMHMCMCposterior.cc mexFile driver for the modified RandomWalkMetropolisHastings.cc and other related files inc. draft test random_walk_metropolis_hastings_core.m
...
Still missing functionality: Sliding progress bar, seed change and loading old, incomplete (failed) run files
2010-10-04 13:58:25 +01:00
Sébastien Villemot
1a27ed9f38
OpenMP support:
...
- removed build_matlab_multithread.m and isopenmp MEX file
- introduced a new option "--enable-openmp" in configure script
- when openmp support is compiled in, the default is still one thread; the user can set the number of threads with "set_dynare_threads(n)"
- closes #68
2010-09-27 15:56:19 +02:00
Sébastien Villemot
477652c6e9
Build system: removed obsolete build_matlab script
2010-09-27 15:51:32 +02:00
Sébastien Villemot
5a1caff861
Build system: fix for bug introduced in 5504811b1a
2010-09-27 14:18:39 +02:00
Sébastien Villemot
5504811b1a
Removed obsolete Kalman filter code
2010-09-24 13:01:52 +02:00
Ferhat Mihoubi
df1b1e4ed0
- In bytecode, the MATLAB function "mexErrMsgTxt" has been replaced by an exception handling see ticket #137
2010-09-24 12:52:58 +02:00
Houtan Bastani
e57056ad14
sparse_hessian_times_B_kronecker_C: remove instances of mexErrMsgTxt
2010-09-23 10:45:18 +02:00
Houtan Bastani
ca24c92ed7
A_times_B_kronecker_C: remove instances of mexErrMsgTxt
2010-09-23 10:45:08 +02:00
Houtan Bastani
7b0d6da920
mjdgges: remove instances of mexErrMsgTxt
2010-09-23 10:44:59 +02:00
Houtan Bastani
e32c8b1b76
k_order_perturbation: remove instances of mexErrMsgTxt and mexErrMsgIdAndTxt
2010-09-23 10:44:39 +02:00
Houtan Bastani
1eaee02729
logposterior: remove instances of mexErrMsgTxt
2010-09-23 10:44:22 +02:00
Houtan Bastani
b512a43848
fix file mode
2010-09-23 10:44:10 +02:00
Houtan Bastani
6631f2d1d0
Macro used to clean up after encountering an error in a mex file (previously handled by mexErrMsgTxt) and helper m file
2010-09-23 10:43:16 +02:00
Sébastien Villemot
a3640239ab
Removed all MSVC workarounds, since we can now definitely drop this compiler on
...
Windows/64-bit platform
2010-09-21 15:06:14 +02:00
Sébastien Villemot
fbbc21d577
Estimation DLL: make it compatible with changes introduced in 648c3cd177
+ code simplification
2010-09-20 19:25:31 +02:00
Sébastien Villemot
aa8963c1db
K-order DLL: code simplification
2010-09-20 19:24:23 +02:00
Sébastien Villemot
d7754ca288
K-order DLL: make it compatible with changes introduced in
...
648c3cd177
2010-09-20 18:30:00 +02:00
Sébastien Villemot
6c66e3d2af
Bytecode DLL: include dynmex.h instead of mex.h (for compatibility with older
...
MATLAB)
2010-09-20 10:23:05 +02:00
Ferhat Mihoubi
0ecfc5eed9
- Incorrect type for variable map_idx_res (the variable with highest error)
2010-09-17 12:26:54 +02:00
Ferhat Mihoubi
45137f1367
- bug correction in error printout (elimination of an unused variable : nb_endo in SparseMatrix)
2010-09-17 12:26:44 +02:00
Ferhat Mihoubi
c7eff4ba60
- Adding the relaxation method for block and/or bytecode options
...
- Changing the the stack_solve_algo option :
Previous version New version
1 : Sparse LU 0 : Sparse LU
2 : GMRES 1 : Relaxation
3 : BiCGStab 2 : GMRES
4 : Sparse LU & Optimal Path 3 : BiCGStab
5 : bytecode own solver 4 : Sparse LU & Optimal Path
5 : bytecode own solver
2010-09-17 12:18:25 +02:00
Ferhat Mihoubi
77b6096962
- extends the mex_interface: bytecode's debuging purpose
...
- correction of memory leaks in bytecode
2010-09-17 12:17:14 +02:00
Ferhat Mihoubi
0a3c8a4b0c
- compute the jacobian matrix for exogenous, det_exogenous and previous blocks endogenous
...
- preprocessor provides informations about the dynamic structure of each block
- extends the algorithms available with bytecode: stack_solve_algo = 1, 2, 3 and 4 is compatible the bytecode. Speed and memory requirement are improved with stack_solve_algo = 1 or 4 for large scale models.
- bytecode can be used to evaluate a model
2010-09-17 12:16:47 +02:00
George Perendia
99a884e09c
C++ Estimation DLL: Adding 1st cut draft RandomWalkMetropolisHastings.cc and related untested files for review
2010-09-14 12:21:45 +01:00
George Perendia
73fb122e1e
Estimation C++ DLL: Enhancing KalmanFilter performance using symmetric matrix and vector BLAS routines calls added or enhanced in BlasBindings.hh and dynblas.h + some minor fixes to Matrix.hh and LogPriorDensity.cc
2010-09-03 11:17:50 +01:00
Sébastien Villemot
8589be3d4b
K-order DLL: cosmetic changes
...
- remove unused argument of the DLL
- fix documentation inside source file
2010-08-30 17:11:58 +02:00
Sébastien Villemot
a4769fc80d
K-order DLL: no longer create an extra MAT file (useless and undocumented)
2010-08-30 17:11:26 +02:00
George Perendia
61da05b5e4
C++ Estimation DLL: KalmanFilter, dynlapack and LapackBindings with Cholesky decomp. based matrix inverter
2010-08-04 15:57:52 +01:00
George Perendia
1ac71f3d0c
Estimation C++ DLL: 4 fixes and some additional files used in testing: sweuromodel_dll.mod, data and DsgeLikelihood.m modified for testing under octave
2010-08-04 14:52:56 +01:00
Michel Juillard
89bdc81ada
suppressed computation of steady state inside k_order_perturbation
2010-07-17 10:18:25 +02:00
Michel Juillard
96bdf8c371
make sure that 2nd and 3rd order derivatives that haven't been computed are not taken to be zero.
2010-07-17 10:14:22 +02:00
Sébastien Villemot
9642683b7d
Build system: fix for building source tarball
2010-07-12 14:30:57 +02:00
Sébastien Villemot
acf5451c1f
Build system: rename 'loglikelihood' to 'logposterior'
2010-07-09 12:48:08 +02:00
George Perendia
50c1e0a8ec
C++ Estimation DLL: update of core files and logposterior.cc removed, keeping loglikelihood.cc
2010-07-08 09:56:19 +01:00
George Perendia
5c01144793
C++ Estimation DLL: update of testInitKalman.cc and testKalamn.cc
2010-07-08 09:56:18 +01:00
Sébastien Villemot
f34c31307b
K-order: minor fix for order of initialization of data members
2010-06-25 15:40:36 +02:00
Sébastien Villemot
04905660b8
Added new loglikelihood DLL (does not yet contain prior computation, only the likelihood)
2010-06-11 19:18:16 +02:00
Sébastien Villemot
7410094588
Estimation DLL: various minor changes
2010-06-11 19:16:03 +02:00
Sébastien Villemot
e5d093c6ad
Estimation DLL: refactor detrending stuff to avoid allocating the matrix for detrended data at every iteration
2010-06-11 19:11:27 +02:00
Sébastien Villemot
85f855d759
Estimation DLL: fixed bug in EstimatedParametersDescription::getNumberOfPeriods()
2010-06-11 18:03:14 +02:00
Sébastien Villemot
32e41b7b01
Estimation DLL, LogLikelihoodMain: fixed bug (likelihood was not initialized to zero)
2010-06-11 16:51:08 +02:00
Sébastien Villemot
e1b274f2dc
Estimation DLL, ModelSolution class: make llxSteadyState a data member
2010-06-11 14:54:10 +02:00
Sébastien Villemot
1e41458826
Estimation DLL: bugfixes in LogLikelihoodMain
2010-06-10 19:13:20 +02:00
Sébastien Villemot
974e9ac0ad
Estimation DLL: remove 'const' qualifiers in order to be able to put these classes in std::vector (the STL want an assignment operator)
2010-06-10 19:13:20 +02:00
Sébastien Villemot
8a7ed1ec48
Estimation DLL, VDVEigDecomposition: remove useless test in destructor
2010-06-10 19:13:20 +02:00
Sébastien Villemot
2c0b3469be
Estimation DLL, Vector class: fixed bug in the copy constructor
2010-06-10 19:13:20 +02:00
Sébastien Villemot
110a33a0c8
Estimation DLL, QRDecomposition: fix memory leak
2010-06-10 19:13:20 +02:00
Sébastien Villemot
a1df331c58
Estimation DLL: fixed test for Prior PDF following the removal of "mode" in the Prior class
2010-06-10 19:13:20 +02:00
Sébastien Villemot
81f0cf1bc3
Bytecode DLL: provisions for Microsoft Visual C++
2010-06-09 18:35:35 +02:00
Sébastien Villemot
045e2e21ef
Bytecode DLL: bugfix for erf()
2010-06-09 18:31:39 +02:00
Sébastien Villemot
fe61608ede
Estimation DLL: bugfix in LogLikelihoodMain
2010-06-09 11:42:23 +02:00
Sébastien Villemot
bedc69beb8
Estimation DLL: pass the name of the dynamic MEX file through the whole hierarchy of constructors (instead of the basename of the MOD file)
2010-06-09 11:42:22 +02:00
Sébastien Villemot
35ad5b1aba
Estimation DLL: removed useless "mode" information in Prior class
2010-06-09 11:42:22 +02:00
Sébastien Villemot
90e9506d93
Estimation DLL: added test MOD file
2010-06-09 11:39:03 +02:00
Sébastien Villemot
ab0d4a143e
Build system: added new test for C++ prior classes
2010-06-09 11:37:42 +02:00
George Perendia
69abb07f05
C++ Estimation DLL: Adding basic Uniform and Gaussian random number generators to Priors.hh and a basic test routine
2010-06-08 16:38:49 +01:00
George Perendia
4f98b560ad
Estimation C++DLL: First draft for LogPosteriorDensity, LogPriorDensity and associated changes: random number generation still missing
2010-06-02 13:38:27 +01:00
Houtan Bastani
762e703692
Allow the user to pass a constant seed
2010-06-01 11:18:55 +02:00
Houtan Bastani
1bc7bf7fbb
make blas and lapack functions work with matlab
2010-06-01 11:18:54 +02:00
George Perendia
508422307e
Estimation C++DLL: adding Standard dev. to Prior.cc & .hh
2010-05-25 17:53:58 +01:00
Michel Juillard
a3d798836e
k_order_perturbation: fixing bug in making of tensor of 3rd order derivatives
...
modifying tests and adding a new test against dynare++ output (fs2000k4.mod)
2010-05-22 16:12:39 +02:00
Sébastien Villemot
399d66d81c
Estimation DLL, generalized Schur decomposition: fix bug with complex part of infinite generalized eigenvalue (was NaN instead of zero)
2010-05-14 19:26:52 +02:00
Michel Juillard
894ed518c8
mjdgges.c: eliminates bogus imaginary NaNs in eigenvalues
2010-05-14 15:03:15 +02:00
Sébastien Villemot
6f11442c7b
Estimation DLL: fix to testModelSolution
2010-05-07 18:18:24 +02:00
George Perendia
775a1f6471
Estimation DLL: updating test function
2010-05-07 17:09:51 +01:00
George Perendia
1c5c7f3fbf
Estimation DLL: adding LapackBindings.hh
2010-05-07 17:00:56 +01:00
Sébastien Villemot
b903776e0c
Estimation DLL: fixed type errors in VDVEigDecomposition class
2010-05-07 17:17:30 +02:00
Sébastien Villemot
3688a6ef5a
Estimation DLL: bugfix in constructors for vector views
2010-05-07 17:17:30 +02:00
George Perendia
55fc3feea4
Estimation: Update of main files
2010-05-07 16:08:58 +01:00
Sébastien Villemot
b101dbd483
Estimation DLL: give the possibility to construct Vector/Matrix views out of other views
2010-05-07 12:18:45 +02:00
Sébastien Villemot
3292ee68c2
Build system: updates for estimation DLL
2010-05-07 10:40:03 +02:00
Sébastien Villemot
ec5fd63063
Estimation DLL: removed obsolete file
2010-05-07 10:39:54 +02:00
Sébastien Villemot
e4f640f201
Estimation DLL: simplification of the handling of indices in T and R matrices
2010-05-06 18:57:15 +02:00
Sébastien Villemot
5aa17370e8
Estimation DLL: minor type fix
2010-05-06 16:45:50 +02:00
Sébastien Villemot
2b5a907bb0
Estimation DLL: optimization in Kalman filter
2010-05-06 16:30:13 +02:00
Sébastien Villemot
ba0503628e
Estimation DLL: no longer pass lead/lag incidence matrix as argument, this is redundant with the zeta indices
2010-05-06 15:32:11 +02:00
Sébastien Villemot
6bdfc2958b
Estimation DLL: removed obsolete files
2010-05-06 15:31:06 +02:00
George Perendia
31d9dd2481
estimation: extending LogLikelihoodSubSample.hh
2010-05-06 12:45:40 +01:00
George Perendia
c729b8984d
Estimation Adding more Headers
2010-05-06 12:37:06 +01:00
George Perendia
1819272d51
Estimation: Fix to VDVEigDecomposition.hh
2010-05-05 18:01:59 +01:00
George Perendia
ba31b9bcbf
Estimation libmat VDV Eigen decomposition class
2010-05-05 16:47:47 +01:00
Sébastien Villemot
208210c6fd
Merge remote branch 'george/master'
2010-04-23 18:31:38 +02:00
George Perendia
43b2aae64e
C++ Estimation Minor changes to KalmanFilter initialisation and testing routines to improve handling structural changes parameters and test accuracy
2010-04-23 15:28:42 +01:00
Sébastien Villemot
18c36c3dd5
Merge remote branch 'george/master'
2010-04-16 18:34:57 +02:00
George Perendia
e9846ae65f
C++ Estimaion: Minor change KalmanFilter.* to use gain matrix KFinv for conversion check and cosmetic changes to ModelSolution.cc, testInitKalman.cc and testkalman.cc
2010-04-16 17:00:51 +01:00
Ferhat Mihoubi
f849b11563
The functions erf, normpdf and normcdf work fine with bytecode option
2010-04-16 17:00:05 +02:00