Commit Graph

97 Commits (8ac397daa2976c81cc2f81de2c3ab58cdef5ea36)

Author SHA1 Message Date
sebastien 059bb76e7c v4 parser:
* refactored SymbolTable class
* added a uniform interface for emitting warnings


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1494 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-12-19 15:16:43 +00:00
sebastien 53822c7b76 v4 parser: made LOG and LN distinct tokens, but triggering the same actions
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1487 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-12-19 10:11:54 +00:00
sebastien 10bdf16a2a v4 parser:
* fixed operators precedence (in particular for relational operators)
* various minor cleanups


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1483 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-12-07 16:02:55 +00:00
sebastien fd6f89e0f3 v4 parser: updated DynareBison.{cc,hh}
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1481 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-12-07 14:26:57 +00:00
michel f60bb42588 v4 parser: corrected bug for normcdf in DynareBison.yy
begin implementation of homotopy (not finished)


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1461 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-11-26 16:31:48 +00:00
ferhat d884d8a397 New features:
- Implementation of the simulation of the block decomposed model using sparse matrix using MATLAB code: 
  New option in model : sparse
  Example:
  Model(SPARSE);
  ….
  End;
- Implementation of the simulation of the block decomposed model using sparse matrix for static model. 
- Krylov methods are implemented to solve the linear model J.y=b, with J the Jacobian matrix at each step of  the Newton Method. Two Krylov's solvers are considered : 
   + Generalized Minimum Residual Method (GMRES) 
   + BiConjugate Gradients Stabilized (BICGSTAB)
  To call them the SIMULATE command has to be completed with a new option : METHOD which could have three   different values : 
   + LU : (default value)  Sparse LU resolution
   + GMRES 
   + BICGSTAB
	 	Example:
 			simul(periods=100, method=lu);
                        or        simul(method=Gmres);
- Correction of various bugs in “simulate.dll”.
- Correction of simk.m
- Correction allowing a list of VALUES or PERIODS not necessarily separated by a comma. 

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1447 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-11-20 23:24:01 +00:00
michel 2a79c2cecc v4 parser.src: added function normal cumulative density normcdf(x,mean,std dev) and its derivative
added tests/parser/t_normcdf.mod
               added Trinary Operators
               increased precision of constants written to *.m or *.c files


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1440 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-11-11 15:24:50 +00:00
sebastien b4dfd32e59 v4 parser: add unknown function names to the symbol table
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1430 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-10-17 09:36:56 +00:00
ferhat a5323768aa Gets rid of dummy function (replaced by logical operators) and corrects logical operators.
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1427 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-10-15 09:04:08 +00:00
ferhat d53caec4af New logical operators:
"==", "!=", "<", ">", "<=", ">="

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1421 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-10-08 22:52:57 +00:00
ferhat 5e8bf1ef51 Corrections for min, max and dummy functions in DynareBison.yy: hand_side involves hand_side arguments
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1420 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-10-05 22:11:47 +00:00
adjemian 163c5b4146 Add min(,) max(,) and dummy() functions to dynare... Buggy until tomorrow ;-)
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1417 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-10-05 19:47:27 +00:00
sebastien 5e1d6683ff v4 parser: various minor things
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1410 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-10-04 09:16:52 +00:00
ferhat abc824dbdf New model option: "NO_COMPILE" (simulation of the block decomposed model without compilation).
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1409 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-10-03 22:01:08 +00:00
michel ad3273d726 v4 preprocessor: added code for GSA (Marco) not finishde
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1405 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-10-02 14:05:16 +00:00
sebastien ca254fdb22 v4 parser: added options constant and noconstant for BVAR commands
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1394 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-09-25 11:47:44 +00:00
sebastien 610d849121 v4 parser: fixed problems with DLL mode
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1384 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-09-13 17:50:32 +00:00
sebastien 162195c882 v4 parser: removed the mechanism which records whether a given symbol has been referenced or not in the model block (useless and creates problems for standalone BVAR estimation)
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1371 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-07-16 16:48:47 +00:00
sebastien 446623f576 v4 parser: allow for empty model in some cases (actually for standalone BVAR estimation)
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1370 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-07-16 16:47:09 +00:00
sebastien 50950ea63f v4 parser: removed deprecated "olr" command
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1342 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-07-06 14:39:38 +00:00
sebastien 86360d9eb4 v4: added BVAR code for computing marginal density and forecasting
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1331 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-06-25 22:42:30 +00:00
sebastien 95a3c08799 v4 parser: cosmetic changes
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1302 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-06-06 10:17:27 +00:00
sebastien 6eec6211fe v4 parser: fixed several problems with USE_DLL option:
* in the .m file, corrected "if exist" and "mex" lines
* in the .c files, fixed problem with model local variables
* reverted Fehrat's change: power operator in C is pow(), not pow1()


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1301 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-06-06 09:58:45 +00:00
ferhat 34004449df Error messages during compilation corrected
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1300 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-06-06 08:35:22 +00:00
ferhat 77d6a24cf7 Adding Markowitz criteria in the linear solver (new option in simul: "Markowitz=val" - with val a strictly positive real)
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1298 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-06-03 22:35:30 +00:00
ferhat 9af2e461c3 New release of deterministic simulation.
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1292 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-06-01 11:43:49 +00:00
sebastien 8fb8b0ff99 v4 parser:
* added pre-computing of numerical constants (i.e. 1+1 is replaced by 2)
* removed appending of ".0" for integer constants
* refactoring of NumericalConstants


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1255 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-05-08 19:16:35 +00:00
sebastien 9f33835d6a v4 parser:
* implemented handling of mod file local variables (eModFileLocalVariable)
* renamed "local parameters" to model local variables (eModelLocalVariables)


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1253 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-04-30 12:09:05 +00:00
sebastien c188e1e1be v4 parser: removed OperatorTable (no longer needed)
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1205 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-03-10 08:44:18 +00:00
sebastien 573227a044 v4 parser:
* removed Expression class; the "ExprNode" class is therefore now used everywhere
* removed interprete class, and replaced it by a method in ExprNode and an global evaluation context in ModFile
* fixed breakage of SparseDLL / Block decomposition code introduced in previous revision


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1204 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-03-09 17:27:46 +00:00
sebastien 30c70a35e3 v4 parser:
* reorganised code in ModelTree so that block decomposition and SparseDLL code is clearly separated
* replaced DataTree::offset by ModelTree::mode, using an enumeration of the three modes which is more explicit
* reorganised ExprNode::writeOutput method by using a sixfold enumeration type (ExprNodeOutputType) corresponding to the 6 different contexts in which an expression can be written


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1203 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-03-06 17:14:35 +00:00
sebastien 68c57ae019 v4 parser: no temporary terms in local parameters declaration
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1200 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-02-28 10:21:20 +00:00
michel cf200ccd4c v4 parser: updating DynareBison.cc/hh
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1199 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-02-24 15:22:02 +00:00
sebastien feec20209d v4 parser: merged Fehrat's changes
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1190 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-02-21 23:28:16 +00:00
sebastien 934f5f21a7 v4 parser:
* added third order derivatives in dynamic file (triggered by order=3 option of stoch_simul/olr/osr/ramsey_policy)
* don't output hessian in dynamic file if order=1 is specified


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1180 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-02-08 11:56:46 +00:00
sebastien c3d114a7a1 v4 parser:
* declared ExprNode::cost as const
* Makefile: removed DynareBison.{cc,hh} from "clean" rule. Added a "distclean" rule for that purpose
* various minor changes


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1179 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-02-05 09:55:41 +00:00
michel ba57343ac3 v4 parser: adding position.hh for people who have an old bison
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1177 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-02-01 20:05:36 +00:00
michel 4bc9ebeeb6 v4 parser: adding location.hh for people who have an old bison
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1176 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-02-01 20:04:31 +00:00
michel b514885d99 v4 parser: adding stack.hh for people who have an old bison
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1175 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-02-01 20:03:09 +00:00
michel 6c31af64cc v4 parser: adding DynareBison.cc .hh for people who have an old bison
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1174 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-02-01 20:00:44 +00:00
sebastien 0c16f52806 v4 parser:
* reshaped DataTree/ModelTree using a more object-oriented approach
* improved expression sharing algorithm (temporary terms in output files), resulting in smaller output files for big models
* optimized performance (both in computing time and memory consumption)
* bugfix: the expressions stored in local parameters of models (pound expressions) are now derived
* bugfix: cosh(0) = 1
* removed some useless parentheses in output


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1148 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-01-09 19:00:05 +00:00
michel f67d00cd34 v4 parser: corrected Hessian when declared exogenous variables aren't all present in the model;
add VariableTable::get_dyn_var_nbr()

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1141 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-01-06 11:29:32 +00:00
michel 77cdcce658 v4: adding Ramsey policy to parser;
changes to Ramsey policy Matlab code

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1133 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-01-04 14:42:27 +00:00
sebastien e3bb760692 v4 parser: made OperatorTable static
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1132 ac1d8469-bf42-47a9-8791-bf33cf982152
2007-01-02 15:43:18 +00:00
sebastien 5bbd779bab v4 parser:
* added planner_objective statement, which triggers the creation of filename_objective_static.m
* added computing pass
* added the possibility of writing the hessian in static output file



git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1126 ac1d8469-bf42-47a9-8791-bf33cf982152
2006-12-18 23:28:52 +00:00
sebastien 0f9ed33f7d v4 parser: removed ModelParameters class, and moved its components to the relevant places
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1125 ac1d8469-bf42-47a9-8791-bf33cf982152
2006-12-18 11:29:10 +00:00
michel d035175627 v4 parser: 'check' is also a computing task
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1123 ac1d8469-bf42-47a9-8791-bf33cf982152
2006-12-17 14:59:39 +00:00
sebastien c445ce3a98 v4 parser:
* added a computing pass
* ModelTree:
  - separated checking pass, computing pass, and output writing
  - reorganized static and dynamic model file output code


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1121 ac1d8469-bf42-47a9-8791-bf33cf982152
2006-12-15 17:31:31 +00:00
sebastien 73d3e17540 v4 parser:
* added an embryonic checking pass after parsing
* modified the decision of which derivatives to compute:
  - if a simul statement is present, compute the jacobian vs endogenous variables only, and no hessian
  - if a stoch_simul/estimation/olr/osr statement is present, compute the jacobian vs all variables, plus the hessian
  - if the two previous conditions are simultaneously fulfilled, abort with an error
  - if none of these two conditions are fulfilled, abort with an error (nothing to compute)
* fixed a minor bug with the size of the jacobian matrix when computing it only vs endogenous variables


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1120 ac1d8469-bf42-47a9-8791-bf33cf982152
2006-12-15 11:44:58 +00:00
sebastien be18e12a43 v4 parser VariableTable:
* cleaned and simplified the code
* incorporated VariableTable as a private member of DataTree/ModelTree


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@1118 ac1d8469-bf42-47a9-8791-bf33cf982152
2006-12-14 22:19:39 +00:00