Commit Graph

613 Commits (beb7d42d748f9f0f5216ed7aca93dceb4f73df2c)

Author SHA1 Message Date
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