Differences between revisions 6 and 14 (spanning 8 versions)
Revision 6 as of 2008-04-11 14:00:32
Size: 2776
Comment:
Revision 14 as of 2010-09-27 14:43:27
Size: 2272
Comment:
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:
 * add support for multi-line native Matlab statements (ending with '...')
Line 11: Line 10:
 * handling of functions. Either Matlab functions or user functions not in the list known by the derivator. Also in expressions outside of model definition. [parser]
 * allow for expression in many places where numerical constant are currently required [parser]
Line 15: Line 12:
 * trigger numerical differentiation when an unknown function is present in the model [see UnknownFunctions]
Line 19: Line 15:
 * improve error message when dealing with ExprNode::EvalException (in particular for reporting in ModelTree::evaluateJacobian)  * add a check for number of equations and endogenous in the case of Ramsey policy
* improve error message when dealing with Expr``Node::Eval``Exception (in particular for reporting in Model``Tree::evaluateJacobian)
Line 28: Line 25:
 * add a warning if homotopy_setup block comes after steady
Line 39: Line 37:
  * but it is possible to factorize more complicated expressions: {{{2*x+3*x=(2+3)*x=5*x}}}. The two simplifications aren't identical but strongly related. -- MichelJuillard [[DateTime(2007-05-08T19:53:46Z)]]
 * for static output file, remove unnecessary temporary terms
  * but it is possible to factorize more complicated expressions: {{{2*x+3*x=(2+3)*x=5*x}}}. The two simplifications aren't identical but strongly related. -- MichelJuillard <<DateTime(2007-05-08T19:53:46Z)>>
Line 43: Line 40:

=== Loose ends ===
 * add C code for normcdf, both for parser evaluation and for DLLs
 * add normcdf to reference manual
 * add normpdf

Todo List

  • create a testsuite

Features

  • add "elsif" and "switch/case" in macro-language
  • add option for number of draw in Metropolis subsamples [parser + Matlab code]
  • add option for algorithm to solve generalized Sylverster equation [parser + Matlab code]
  • add new function diff(), sum loops and prod loops in modeling language. Should be unrolled. [parser]

Error checking

  • add a check for number of equations and endogenous in the case of Ramsey policy
  • improve error message when dealing with ExprNode::EvalException (in particular for reporting in ModelTree::evaluateJacobian)

  • add warning for missing variable in current period. This is permissible in some cases, Michel should write a note about it [parser]
  • improve error and warning handling in parser. Find a way that users see Warnings even if scrolling by [parser]

Checks concerning the structure of the mod file

  • allow a single histval, endval, initval block
  • check that a given parameter is never declared two times
  • check that observation trends is used after a varobs
  • add a warning if homotopy_setup block comes after steady

Checks concerning the types of variables allowed in expressions

  • varobs must be declared endogenous
  • shocks must be exogenous
  • objective_planner must be endogenous without leads/lags

Optimizations / Enhancements

  • optimize expression sharing (for example use the fact that A+(B+C) = (A+B)+C); this would also enhance the pre-computing of numerical constants (for the moment, the algorithm can't reduce 1+(x+1))

    • if there is a series of operators with the same precedence, we can collect the constant and reduce them 1+(x+2}=(1+2)+x=3+x

    • but it is possible to factorize more complicated expressions: 2*x+3*x=(2+3)*x=5*x. The two simplifications aren't identical but strongly related. -- MichelJuillard 2007-05-08 19:53:46

  • rewrite outputting system (by using a subclass of ostream containing the output type, and by overloading << operator)

  • improve internal representation of estimated_params* statements

DynareWiki: PreProcessorTodoList (last edited 2010-09-27 14:43:27 by SébastienVillemot)