Commit Graph

91 Commits (943db6fb24d9e4b01f31d084696bb8aec9010ff4)

Author SHA1 Message Date
Houtan Bastani 9b525713d9 Revert "preprocessor: julia: print only those temporary vars needed for the computation of (residuals, g1, g2, g3) in the respective dynamic! and static! functions"
This reverts commit eb2890d1f5.
2015-09-02 15:29:52 +02:00
Houtan Bastani eb2890d1f5 preprocessor: julia: print only those temporary vars needed for the computation of (residuals, g1, g2, g3) in the respective dynamic! and static! functions 2015-09-01 18:29:10 +02:00
Houtan Bastani 11eaf27453 Merge branch 'julia' 2015-09-01 11:35:16 +02:00
Michel Juillard c9f771973d expand extended preprocessor + first implementation of Petsc interface 2015-08-27 10:00:51 +02:00
Houtan Bastani ccd383cbed fix array indexing for Julia 2015-08-21 17:13:38 +02:00
Houtan Bastani d70ae4d103 write steady state model 2015-07-28 17:27:56 +02:00
Houtan Bastani 25ae46e204 write dynamic file 2015-07-27 17:02:51 +02:00
Houtan Bastani b81035a6f3 write static model 2015-07-27 15:33:38 +02:00
Houtan Bastani 383a852c9c Revert "Merge branch 'rmExtraExo'"
This reverts commit 28ffa9c56f, reversing
changes made to 60b3577a09.

Conflicts:
	preprocessor/Shocks.cc
	preprocessor/SymbolTable.cc
2015-06-09 16:42:51 +02:00
Houtan Bastani e4b8565797 Revert "preprocessor: fix bug in merge of rmExtraExo branch"
This reverts commit def2bf81d2.
2015-06-09 16:41:00 +02:00
Houtan Bastani def2bf81d2 preprocessor: fix bug in merge of rmExtraExo branch 2015-05-28 16:16:54 +02:00
Houtan Bastani e389ab90bf Merge branch 'master' into rmExtraExo 2015-05-18 17:16:55 +02:00
Houtan Bastani 2ab8e2a122 preprocessor: external functions bug fix: fixes the case where an external function is contained in a local variable that’s used in an equation with leads/lags that require auxiliary equations. Closes #916 2015-05-12 16:39:10 +02:00
Houtan Bastani 6c937b1554 preprocessor: remove extraneous varexo, update model and statements, #841 2015-03-06 16:44:17 +01:00
Sébastien Villemot b4c3d004ad Introduce a new abstract class for external function nodes.
This fixes the following bugs:

- 1st and 2nd ext fcn deriv nodes were incorrectly added to
  DataTree::external_function_node_map, because of the chaining of
  constructors.

- the following methods of FirstDerivExternalFunctionNode were not overloaded:
  toStatic(), buildSimilarExternalFunctionNode()

- the following methods of SecondDerivExternalFunctionNode were not overloaded:
  toStatic(), buildSimilarExternalFunctionNode(), compile(),
  compileExternalFunctionOutput()
2014-03-13 12:12:17 +01:00
Sébastien Villemot f55fda0938 Implement cloneDynamic() for {First,Second}DerivExternalFunction.
Since the method was not implement, the method of the parent class was used.
This was leading to wrong results in the context of Ramsey Policy (basically
derivative operators on external functions were dropped from FOCs).
2014-03-11 18:56:48 +01:00
Michel Juillard 98f3a04444 extended_preprocessor: fixed computation of steady state out of
steady_state_model
2014-02-24 13:33:48 +01:00
Michel Juillard 49b34d4c94 write C++ version of model functions without temporary terms 2014-02-24 13:33:48 +01:00
Houtan Bastani 3745409f19 preprocessor: namespace fixes to remove clang warnings 2013-12-30 14:54:00 +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 12140fb814 preprocessor: ExprNodeLess is a struct 2013-11-21 14:48: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 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 a0b7178962 Automatic detrending engine can now handle models written in logs (ref. #309)
- new command `log_trend_var'
 - new option `log_deflator' to `var' command
2013-03-26 16:51:17 +01: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 1f9cea669a Update copyright notices 2012-06-08 18:22:34 +02:00
Michel Juillard 539bf0ca69 finishing implementation of optional transformation of log and non
integer power arguments   to insure that they are positive
2012-05-26 20:53:48 +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
Houtan Bastani ce9fe30a7a Remove unused expectation syntax 2011-10-26 14:30:47 +02:00
Houtan Bastani 7357a23114 output mex file for static model (closes #183) 2011-08-19 16:57:27 +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
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
Ferhat Mihoubi 129d404eb8 - The binary operator oDerivPower is implemented in bytecode 2010-12-17 18:54:03 +01:00
Houtan Bastani 35450a292b extend domain of derivative of x^p to x=0 under certain conditions (see ticket 78) 2010-12-13 17:03:57 +01:00
Ferhat Mihoubi 97664607b2 - external functions are compatible with block decomposition and/or bytecode 2010-12-10 12:06:50 +01:00
Houtan Bastani 894155be88 trend_var, growth_factor, deflator: stationarize a nonstationary model and test 2010-10-18 16:07:42 +02:00
Houtan Bastani 078574ee4a external_function: add support for use_dll 2010-10-07 18:05:07 +02:00
Sébastien Villemot 648c3cd177 Preprocessor: implement STEADY_STATE operator with "use_dll" and "block"
options (closes #98)
2010-09-20 17:04:38 +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
Sébastien Villemot 46b896e987 Preprocessor:
- remove useless output type oMatlabDynamicModelSparseLocalTemporaryTerms
(indistinguishable from oMatlabDynamicModelSparseLocal)
- fix bug in output type of sparse static model
2010-09-16 16:57:35 +02:00