Commit Graph

63 Commits (25121bca4f9c97fed28599e9f9adeba2028e5bd0)

Author SHA1 Message Date
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
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 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 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 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 02efbd31a8 Convert files to Unix EOL 2012-06-08 19:10:19 +02:00
Sébastien Villemot 1f9cea669a Update copyright notices 2012-06-08 18:22:34 +02: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
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
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 7717da4316 K-order DLL: remove warning about NOMINMAX 2011-02-07 12:37:47 +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
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
Houtan Bastani d69d225b82 k-order: removed unused variable from class definition 2010-12-17 12:16:32 +01: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 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
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 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
Houtan Bastani e32c8b1b76 k_order_perturbation: remove instances of mexErrMsgTxt and mexErrMsgIdAndTxt 2010-09-23 10:44:39 +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 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
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 f34c31307b K-order: minor fix for order of initialization of data members 2010-06-25 15:40:36 +02: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 2449a4365c K-order DLL, DynareNameList class: removed memory leaks 2010-03-09 18:30:23 +01:00
Sébastien Villemot d95b0cf6d7 K-order DLL, KordpDynare class: removed memory leaks 2010-03-09 18:30:23 +01:00
Sébastien Villemot bb3675e75c K-order DLL, DynamicDLL class: removed memory leaks 2010-03-09 18:30:23 +01:00
Sébastien Villemot 1b3bc4a825 K-order DLL: removed useless stuff 2010-03-09 18:30:23 +01:00
Sébastien Villemot cf8f793c55 k_order_perturbation: give a value to model residuals, otherwise valgrind logs are cluttered with unitialized value errors 2010-02-09 14:32:40 +01:00
Sébastien Villemot 34ab1a5686 k_order_perturbation: fixed illegal cast 2010-02-09 14:24:16 +01:00
sebastien 65fc856710 k_order_perturbation: renamed source files with *.cc and *.hh extensions, for compliance with Dynare coding standards + adapted the build system accordingly
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3260 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-17 11:00:50 +00:00
sebastien f3549b4c64 Beautified MEX source code
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3251 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-16 17:18:38 +00:00
sebastien fb8406ef0a USE_DLL option now works with MSVC + Added new options for Windows to 'dynare' command, to select the compiler: 'cygwin' and 'msvc' + Added the mexopts.bat for Cygwin in the SVN
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3223 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-11 14:46:21 +00:00
sebastien 4bcbd06980 k_order_perturbation: cosmetic change
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3207 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-08 10:01:41 +00:00
george effee9ffab removed more leaks
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3205 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-07 17:03:59 +00:00
george 5c75c9aaee removed more leaks in calcDerivatives
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3204 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-07 12:48:18 +00:00
george 12d7abab24 removed leaks in calcDerivatives
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3203 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-07 12:35:55 +00:00