Commit Graph

69 Commits (0ec62c6360a28b03e4b0da0f43500199394ce23a)

Author SHA1 Message Date
Sébastien Villemot 839ae22b1f Add a warning when some exogenous are not used in the model 2013-11-29 16:03:45 +01:00
Sébastien Villemot ed2f6d62c1 Refactor code for collecting variables appearing in expressions
- rename ExprNode::collectVariables in ExprNode::collectDynamicVariables
- new ExprNode::collectVariables: same as above, but without lag information
- remove ExprNode::findUnusedEndogenous: essentially redundant with the above)
- remove ExprNode::collectModelLocalVariables: idem
2013-11-29 15:37:11 +01:00
Houtan Bastani 20dba7e623 new nostrict command-line option does not exit when there are more endogenous than equations (closes #2) 2013-09-13 14:44:01 -04:00
Sébastien Villemot 61485ab809 Fix copyright notices 2013-06-12 17:04:46 +02:00
Sébastien Villemot 7bbe121769 Possibility of restricting differentiate_forward_vars to some variables
Closes #351
2013-05-17 16:53:15 +02:00
Sébastien Villemot 75b5f1d18a Add new model option 'differentiate_forward_vars' (ref. #351) 2013-04-25 18:09:31 +02:00
Sébastien Villemot 38824dc1e5 Implement tags [static] and [dynamic] for equations
Closes #307
2013-04-11 17:11:35 +02:00
Michel Juillard 39cc313964 removed changes linked with transforming variables to avoid log or
power of negative numbers
2013-04-09 16:35:57 +02:00
Sébastien Villemot c681b5e4ed Revert spurious preprocessor changes introduced in dfa744f 2013-03-26 16:51:10 +01:00
Ferhat Mihoubi dfa744fcb3 - adds new files: Evaluate.cc and Evaluate.hh to bytecode 2013-03-22 16:34:50 +01:00
Sébastien Villemot 8c83135c0f Add derivatives of static model w.r.t. parameters
The new file is <FILENAME>_static_params_derives.m

Closes: #160
2012-11-29 18:07:48 +01:00
Sébastien Villemot 1f9cea669a Update copyright notices 2012-06-08 18:22:34 +02:00
Michel Juillard c6495dfc9d first implementation of transform_logpow. It creates too many auxilary
variables and probably violates Jensen inequality in some cases.
2012-05-23 15:09:33 +02:00
Michel Juillard 629673199e starting implementation of transformed variables to replace arguments
of log and pow functions so as to insure non-negative arguments
2012-05-21 22:05:19 +02:00
Ferhat Mihoubi 99c0508909 Displays an error message when the model contains pound expressions and 'bytecode' or 'block' options are present 2011-10-14 14:35:32 +02:00
Ferhat Mihoubi 3d1a0c2652 block-Kalman filter is now available when block option is used 2011-09-20 14:18:31 +02:00
Houtan Bastani 426682d632 cosmetic: simplify jacobianHelper, hessianHelper and sparseHelper functions and fix spacing in dynamic file 2011-08-19 16:59:18 +02:00
Sébastien Villemot 69ddfadde9 Preprocessor: factorize code common between StaticModel and DynamicModel, and put it in ModelTree 2011-06-22 11:56:07 +02:00
Ferhat Mihoubi 311102ff6f - Compute :
+ the number of static, lag, lead and both variables,
  + the lead_lag_incidence matrix for variables related to previous blocks
  + the index of reordered policy rule
for each block during the preprocessing step
- correct a bug in the comment related to first order derivatives in _dynamic.m file for a block decomposed model without bytcode
- avoid simplification of the Jacobian matrix (setting to zero all elements below the cutoff) for  estimated or stochastically simulated models: the cutoff option is set to 0.
2011-06-18 17:53:50 +02:00
Houtan Bastani 3e92f41079 ramsey_policy: allow discount factor to be an expression 2011-03-29 18:18:32 +02:00
Houtan Bastani 330b11ba48 code cleanup 2011-03-28 11:34:42 +02:00
Houtan Bastani 161647922c Implement explicit writing of first order conditions of Ramsey problem (ticket #5) 2011-03-24 17:17:15 +01:00
Houtan Bastani c5d272bb9f fix typo 2011-03-08 19:06:04 +01:00
Sébastien Villemot f4557cb195 Reindentation of the preprocessor 2011-02-04 16:25:38 +01:00
Sébastien Villemot 9c6d65bc0a Fix derivatives of STEADY_STATE operator w.r.t. parameters (ticket #128) 2011-01-13 18:08:26 +01:00
Houtan Bastani 894155be88 trend_var, growth_factor, deflator: stationarize a nonstationary model and test 2010-10-18 16:07:42 +02:00
Ferhat Mihoubi 60f7678669 - Substitutes lead for exogenous and endogenous variables in the deterministic case: direct substitution of the variables even in non-linear expressions 2010-09-17 12:17:09 +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
Sébastien Villemot dbc9795a08 Preprocessor: rename "NodeID" in "expr_t" 2010-09-17 12:13:26 +02:00
Sébastien Villemot 25cf12f4f1 Preprocessor: uniformize typedef names (with a "_t" suffix) 2010-09-16 19:00:48 +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
Houtan Bastani eb4efa59ac second derivatives of model equations w.r.t. parameters. 2010-03-16 10:15:19 +01:00
Houtan Bastani 19c4f7426c second derivatives of jacobian w.r.t. parameters 2010-03-15 16:02:07 +01:00
Houtan Bastani ad31f7388e derivative of hessian w.r.t. params. 2010-03-11 16:51:07 +01:00
Houtan Bastani 12c4a52ebc Add support for external functions 2010-02-23 18:15:18 +01:00
ferhat b5727e0658 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 0efd5b1621 "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 e6f1a53e60 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 aa23ed73e9 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 af732433d7 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 26185780ac 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 ffd9b2d405 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 80b1e63cdc 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 9a673167f8 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 c84df1aace 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 97cb944831 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 e08fa1f618 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 4c38e9147f 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 b88c5abcba 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 9f45200924 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