Commit Graph

39 Commits (c3c8fa5cca14744776c7d3f49a12a1f348fabb64)

Author SHA1 Message Date
Michel Juillard 6c0a0969f6 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
Houtan Bastani 042a3ced7c second derivatives of model equations w.r.t. parameters. 2010-03-16 10:15:19 +01:00
Houtan Bastani c7093a8385 second derivatives of jacobian w.r.t. parameters 2010-03-15 16:02:07 +01:00
Houtan Bastani 673bf79a5e derivative of hessian w.r.t. params. 2010-03-11 16:51:07 +01:00
Houtan Bastani 9abc7563c1 Add support for external functions 2010-02-23 18:15:18 +01:00
ferhat bce6509773 Adds location indications in error message of "bytecode" + minor correction (string passed as &string).
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3374 ac1d8469-bf42-47a9-8791-bf33cf982152
2010-01-22 16:42:08 +00:00
ferhat f13b95cb87 "bytecode" option can be used without "block" option
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3373 ac1d8469-bf42-47a9-8791-bf33cf982152
2010-01-22 10:03:29 +00:00
sebastien 3aa8876538 Beautified preprocessor code (uncrustify + emacs + manual adjustments, in particular with templates in MacroValue)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3249 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-16 17:13:23 +00:00
sebastien 160ec5d7ca preprocessor + bytecode DLL: various enhancements to block and bytecode options (changes by Ferhat)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3244 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-16 13:21:31 +00:00
sebastien 6bd2cb04de predetermined_variables:
* reworked a little bit the implementation
* documented the command in the reference manual
* added a test


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3143 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-09 11:03:18 +00:00
houtanb 07ba8ebdee implements predetermined_variables operator
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3137 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-07 18:37:11 +00:00
sebastien 760085d6fe preprocessor: clean-up workaround for acosh(), asinh(), atanh() on Win 64 platforms
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3101 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-29 17:16:10 +00:00
sebastien 66684bbb9a preprocessor: implement third-order derivatives in USE_DLL mode
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3036 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-12 16:09:16 +00:00
sebastien 7bfeef5d7f preprocessor:
* fixed substitution of endogenous with leads >= 2: take into account exogenous with leads in non-linear terms
* fixed substitution of exogenous with leads: take into account other variables with leads in non-linear terms


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3027 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-07 16:34:42 +00:00
sebastien 021e0ebb2e preprocessor: in stochastic mode, create auxiliary variables for exogenous with non-zero lead/lag
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3026 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-07 14:07:13 +00:00
sebastien 2f1382fab5 preprocessor:
* In stochastic mode, now transforms the model by removing leads and lags greater or equal to 2 (creating auxiliary variables and equations in the process)
* Information about these variables is in structure M_.aux_vars
* Automatically add the necessary initialization for auxiliary vars after the initval block or load_params_and_steady_state


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3002 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-30 15:10:31 +00:00
houtanb 5591a412a8 added steady_state operator to preprocessor
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2916 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-10 20:09:16 +00:00
sebastien 155828bc48 Added derivatives of dynamic model residuals with respect to parameters
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2902 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-08 08:06:06 +00:00
sebastien 743041ecc4 Remove useless "markowitz" data member in DynamicModel and StaticDllModel
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2886 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-03 09:57:17 +00:00
ferhat ceae389dff simulate.dll has been replaced by bytecode.dll
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2881 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-02 14:40:54 +00:00
sebastien 00d887f984 Various cleanups related to new options "bytecode" and "block"
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2879 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-02 13:36:56 +00:00
ferhat 0a816a4e74 New options for block decomposition and bytecode (see http://www.dynare.org/DynareWiki/ByteCode):
- the options "sparse_dll" and "sparse" are no more available. They are replaced by combinations of block (for block decomposition) and bytecode (for model stored in a binary file)
- markowitz is now an option of simul and steady commands


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2873 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-08-29 15:04:11 +00:00
ferhat 4897b602c6 - extension of normalization of equations to nonlinear equations
- mfs: new option for 'steady' and 'model' commands. Determines the equation belonging to the set of feedback variables.
  mfs = 0 => all variables are considered as feedback variables (default value)
  mfs = 1 => using only naturally normalized equation as potential recursive equations (all variables assigned to unnormalized equations are considered as feedback variable)
  mfs = 2 => adding to the set of potential recursive equation with mfs = 1 the linear equation in endogenous variable normalized (all variables assigned to nonlinear unnormalized equations are considered as feedback variable)
  mfs = 3 => adding to the set of potential recursive equation with mfs = 2 the non linear equation in endogenous variable normalized
- correction of few buggs in simulate.dll
- block_mfs_dll: new option for 'steady' command. Use simulate.dll to solve the steady state model (speedup the computation of the steady-state and the homotopy)

git-svn-id: https://www.dynare.org/svn/dynare/trunk@2866 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-08-25 09:43:01 +00:00
ferhat 56bb43ce4e - sparse_dll option works fine with feedback variables
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2851 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-07-21 15:50:12 +00:00
ferhat 97f73257f6 - minor modifications in Reorder_the_recursive_variables prototype
- no function comment in MinimumFeedbackSet.cc
- writeChaineRuleDerivative in DynamicModel.cc instead of ModelTree.cc


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2836 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-07-10 15:37:51 +00:00
ferhat 8421712f80 - Complete implementation of feedback variables in dynamic model with sparse option
- Normalization of linear in endogenous variable equations 

git-svn-id: https://www.dynare.org/svn/dynare/trunk@2834 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-07-10 15:05:09 +00:00
sebastien 77590c8577 Some restructurings in the preprocessor:
* StaticModel: dropped creation of C file in USE_DLL mode
* StaticModel: added computation of derivatives for block MFS mode
* DynamicModel: catch error codes of mkdir()
* ModelTree: moved "mode" member variable to DynamicModel
* ModFile::writeOutput(): moved manipulations relative to dynamic model file to DynamicModel


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2818 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-07-07 14:20:48 +00:00
sebastien 9595358690 Preprocessor: various minor changes, including
* moved some declarations from ExprNode.hh to BlockTriangular.hh to which they conceptually belong
* replaced non standard boolean operators (and, or, not) by standard ones (&&, ||, !)


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2812 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-07-06 10:36:36 +00:00
ferhat 4a54f3f538 - References to ModelNormalization erased
- Use derivatives w.r. to lead and lag endogenous in BlockTriangular.cc

git-svn-id: https://www.dynare.org/svn/dynare/trunk@2728 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-06-05 15:30:32 +00:00
ferhat 78eb785d55 - Bugs correction in the new block decomposition (incorporating the feedback variables)
- First draft of DynamicModel.cc files with feedback variables. 
TODO : 
- reduction of the Jacobian matrix 
- symbolic normalization of equations
- application to the binary code evaluation (simulate.dll).

git-svn-id: https://www.dynare.org/svn/dynare/trunk@2678 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-05-15 22:41:51 +00:00
ferhat 916e950df9 New implementation of block decomposition & feedback variables using Boost for DynamicModel
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2671 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-05-12 23:03:40 +00:00
sebastien 181bda4853 trunk preprocessor: added new statements "write_latex_dynamic_model" and "write_latex_static_model" which list model equations in LaTeX code
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2654 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-30 13:14:33 +00:00
sebastien 3a9b262af7 trunk preprocessor:
* removed obsolete output type CDynamicSparseDLL
* probably fixed a bug in BlockTriangular::Reduce_Blocks_and_type_determination


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2652 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-29 14:16:14 +00:00
sebastien 331edd8d92 trunk preprocessor: cosmetic changes
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2614 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-20 15:54:19 +00:00
sebastien 34ee60fbe7 trunk preprocessor:
* added support for derivatives of Hessian w.r. to parameters
* added "identification" command which does nothing for the moment, except triggering those derivatives w.r. to params


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2613 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-20 13:58:15 +00:00
sebastien a0af8f7ea0 trunk preprocessor: restructuring the way we decide which derivatives to compute
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2610 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-20 10:48:54 +00:00
sebastien 90e8fbda8b trunk preprocessor: restructuration of the code before adding derivatives w.r. to parameters (in particular, removed VariableTable, and replaced it by a system of derivation IDs)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2597 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-17 16:26:23 +00:00
sebastien 51378821aa trunk preprocessor:
* enforce lag=0 for DataTree and StaticModel
* various minor and cosmetic changes


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2596 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-16 10:33:30 +00:00
sebastien 7fa0d9722d trunk preprocessor:
* created a distinct expression tree for the static model (thus giving better sharing of sub-expressions and better computation of temporary terms for the static model)
* for that purpose, created StaticModel and DynamicModel classes (ModelTree still persists, but only contains code shared between StaticModel and DynamicModel)
* removed sparse static file (to be later replaced by new algorithm for steady state computation on large models)


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2592 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-14 14:39:53 +00:00