Commit Graph

261 Commits (f6f4ea70fbce9fd584c72c15a2932fa02a854d0b)

Author SHA1 Message Date
Michel Juillard 39978f905f changing code for making directory baseline in order to comply with mingw 2015-05-13 17:11:56 +02:00
Michel Juillard a757579213 fixing logic in creation of checksum file. Improving documentation. 2015-05-11 08:57:24 +02:00
Michel Juillard 5b42483e81 adding feature to recompile MEX files only if the model has
changed (not activated yet)
detail of compilation code moved from preprocessor (ModFile.cc) to
./matlab/utilities/general/dyn_mex.m
2015-05-10 18:16:53 +02:00
Houtan Bastani 3783f05c71 preprocessor: remove commented code 2015-04-21 16:49:37 +02:00
Houtan Bastani b27a60d06c preprocessor: reindex equations marked as [static] 2015-04-15 17:00:17 +02:00
Houtan Bastani e045d42c12 preprocessor: remove resetDataTree method 2015-04-15 16:16:26 +02:00
Houtan Bastani cb1fb288f4 preprocessor: remove clearing of num_const_node_map 2015-04-15 14:21:05 +02:00
Houtan Bastani ef640070c2 preprocessor: move reindexing functions from DynamicModel to ModelTree 2015-04-07 15:58:18 +02:00
Houtan Bastani e3ef0b12c4 Merge branch 'master' into rmExtraExo 2015-04-01 15:22:10 +02:00
Michel Juillard 909cc995bd fixing bug in treatment of temporary terms for blocks with *.m files 2015-03-31 15:50:35 +02:00
Houtan Bastani 81a2a2ee0d remove extra exo’s for shocks statement, nonstationary, and trend vars; fix bugs 2015-03-10 17:57:30 +01:00
Houtan Bastani 96a5949d9e preprocessor: remove extraneous varexo, update model and statements, #841 2015-03-06 16:44:17 +01:00
Stéphane Adjemian (Charybdis) 431e9e596a Fixed homotopy for perfect foresight models with block option, cosmetic changes. 2015-02-20 14:48:25 +01:00
Stéphane Adjemian (Charybdis) 1349b448b0 Merge branch 'remove-globals-from-blocks' 2015-02-17 13:01:17 +01:00
Stéphane Adjemian (Charybdis) facf06a1b5 Removed options_ and oo_ globals from *all* generated dynamic model
routines (with block option) and adapted some routines to reflect this change.
2015-02-17 12:57:30 +01:00
Stéphane Adjemian (Charybdis) f78fd342fb Removed options_ and oo_ globals from generated dynamic model
routines (with block option).
2015-02-16 16:56:17 +01:00
Houtan Bastani 4ba729fdd6 preprocessor: new command write_latex_original_model. closes #657 2015-02-16 08:31:30 +01:00
ferhat bf50187993 Bug correction in splitting the jacobian into blocks: the vector variable_2_block is valid only for endogenous variables. 2015-01-21 13:33:29 +01:00
Houtan Bastani 2ca0dec650 Revert "preprocessor: replace oo_.exo_steady_state with steady_state_x, #825"
This reverts commit 2bb97a90d6a346244ca992b9caff6e4c55dd7f66.
2015-01-14 15:14:57 +01:00
Houtan Bastani 1fab5cbdd4 preprocessor: replace oo_.exo_steady_state with steady_state_x, #825 2015-01-14 15:13:48 +01:00
Houtan Bastani b721c1ee8a fix dates for changes in 86c3c0fb1b9afc7e6dbda4a47f7029f9446afddf and a40323d2fb24c1e1a044492842a9176e2b306f40 2015-01-08 18:39:04 +01:00
ferhat b55ec06917 Bug correction on the way to collect information about the other endogenous variables in a block 2015-01-06 12:45:34 +01:00
Houtan Bastani 62c93895bf preprocessor: remove unused variables 2014-12-30 21:55:43 +01:00
ferhat 7b5d57d455 Solves issues in deterministic simulation:
- replaces maximum_endo_(lead|lag) by maximum_(lead|lag) to determine the maximum number of lead and lag in deterministic simulation
- allows to use bytecode in solve_perfect_foresight_model.m
- Adds model information in bytecode
2014-12-17 09:37:43 +01:00
ferhat b5568b70a5 Correction of a bug when "block" option is used without "bytecode" option in the "model" statement: for consecutive blocks that are evaluated, only the first one is in fact evaluated but not the following ones 2014-10-04 12:19:52 +02:00
Houtan Bastani 73caec3185 more explicit warning when dividing by zero in conversion to static model and when reading model #730 2014-10-03 17:04:07 +02:00
Johannes Pfeifer 1c1d3e8bfc Add info to dynamic and static file headers that auxiliary equations may be present 2014-07-17 20:39:59 +02:00
Johannes Pfeifer f8ce5637e3 Fix typo in header of DynamicModel.cc 2014-06-02 13:58:29 +02:00
Michel Juillard cb45fe885e Merge branch 'master' into ep 2014-05-09 10:02:05 +02:00
Michel Juillard 8d3876e55b putting functions related to extended preprocessor in ExternalFiles.cc 2014-04-24 20:54:38 +02:00
Michel Juillard cffe121a37 fixing extended-preprocessor C++ API and test case 2014-04-24 14:33:04 +02:00
Sébastien Villemot 0908b0a50a Fix compilation error introduced in 0983ca78. 2014-04-07 14:21:28 +02:00
Michel Juillard cd063ce3fe extended-preprocessor: starting a C interface (not finished) 2014-04-05 15:46:35 +02:00
Sébastien Villemot 7a3ff5b7fc Merge pull request #636 from JohannesPfeifer/preprocessor
Fix comments in header of dynamic and static files
2014-03-17 15:10:31 +01:00
Michel Juillard 6f65d48376 extended-preprocessor: starting a C interface (not finished) 2014-03-16 18:49:54 +01:00
Johannes Pfeifer 892b565fc8 Fix comments in header of dynamic and static files
Columns and rows were confused
2014-03-14 10:21:42 +01:00
Sébastien Villemot 8882f809c3 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
Michel Juillard 3d11273a61 extended-preprocessor: update test example1 2014-02-24 13:33:48 +01:00
Michel Juillard 416b7b849f extended-preprocessor: adding back writing of model local variables (#) 2014-02-24 13:33:48 +01:00
Michel Juillard 17d0177276 returning sparse matrix in compressed format 2014-02-24 13:33:48 +01:00
Michel Juillard 6e0ef026ac write C++ version of model functions without temporary terms 2014-02-24 13:33:48 +01:00
Houtan Bastani 8a50eee858 ms-dsge: change types of output for better packaging 2014-02-24 12:41:02 +01:00
Houtan Bastani 053ee41ac0 ms-dsge: create C driver file without statements
Conflicts:
	preprocessor/DynareMain2.cc
	preprocessor/ModFile.cc
	preprocessor/ModFile.hh
	preprocessor/Statement.hh
2014-02-24 12:41:02 +01:00
Sébastien Villemot 47a8fd0147 Add line numbers of equations in preprocessor error messages.
Closes #584
2014-01-27 16:41:43 +01:00
Sébastien Villemot 6ba0980460 Add a warning when some exogenous are not used in the model 2013-11-29 16:03:45 +01:00
Sébastien Villemot 1414f98cff 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 fae00ea729 fix bug introduced by ee812f38816294450a307ccb8f2fb2a27fc032f0 2013-11-19 13:05:08 +01:00
Houtan Bastani 1707e6aa96 preprocessor: bug fix: return oo 2013-11-19 11:56:39 +01:00
Houtan Bastani 29507f8e45 proprocessor: block code bug fix: M and oo not being passed to solve_two_boundaries 2013-11-19 11:54:00 +01:00
Houtan Bastani c23cbb5edd clang compilation: replace ostringstream array with vector of strings 2013-11-18 12:16:37 +01:00
Houtan Bastani c03f89eb8d preprocessor: simplify if statement 2013-11-18 12:16:37 +01:00
Houtan Bastani 6d6701aa50 revert change that breaks gcc build 2013-11-05 18:21:12 +01:00
Houtan Bastani 1ae5832e13 preprocessor and matlab mex fixes for clang compilation 2013-11-05 18:04:57 +01:00
Sébastien Villemot 1634c7c50f Always initialize M_.maximum_{endo,exo}_{lead,lag} and M_.params
Closes #515
2013-11-04 16:02:28 +01:00
Houtan Bastani 114cb8bc25 missing semicolon 2013-10-29 12:38:28 +01:00
Sébastien Villemot 46c7622f1c Reactivate and fix the test for the balanced growth path.
If the homogeneized equation evaluates to zero, then we skip the
test (otherwise the 2nd derivative of the log is infinite, and the test fails
while it should not necessarily).

Closes #506
2013-10-29 18:46:54 +08:00
Stéphane Adjemian (Charybdis) 7063e2d8be Changed name of options_.maxit as options_.simul.maxit. 2013-10-09 13:06:06 +02:00
Houtan Bastani 76714b34df 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
Johannes Pfeifer 9d3722fdcb Add full function header to static and dynamic model files 2013-07-28 11:32:14 +02:00
Sébastien Villemot bbc422cf5a Fix copyright notices 2013-06-12 17:04:46 +02:00
Sébastien Villemot 55a548282c Possibility of restricting differentiate_forward_vars to some variables
Closes #351
2013-05-17 16:53:15 +02:00
Sébastien Villemot 94e6f569b8 Add new model option 'differentiate_forward_vars' (ref. #351) 2013-04-25 18:09:31 +02:00
Sébastien Villemot 75f8467803 Implement tags [static] and [dynamic] for equations
Closes #307
2013-04-11 17:11:35 +02:00
Michel Juillard 24cac29cdf 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 08c2b6e1c6 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 69a5271db7 Revert spurious preprocessor changes introduced in dfa744f 2013-03-26 16:51:10 +01:00
Ferhat Mihoubi 832c9d37ef - adds new files: Evaluate.cc and Evaluate.hh to bytecode 2013-03-22 16:34:50 +01:00
Sébastien Villemot dc1be70d82 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 6fc8deed49 Remove oo_.dr.{nstatic,npred,nboth,nfwrd,nspred,nsfwrd}
Replace them by equivalents in M_ (and an extra one: M_.dynamic).

IMPORTANT POINT: oo_.dr.npred used to count both purely backward and mixed/both
variables. This was the cause of lots of confusion. The new M_.npred only
counts purely backward variables.

We now have the following indentities:

M_.npred + M_.nboth + M_.nfwrd + M_.nstatic = M_.endo_nbr
M_.nspred = M_.npred + M_.nboth
M_.nsfwrd = M_.nfwrd + M_.nboth
M_.ndynamic = M_.npred + M_.nboth + M_.nfwrd
2012-11-16 20:05:13 +01:00
Sébastien Villemot f878d8a644 Isolate block decomposition code
This should fix some random crashes of the preprocessor
2012-09-28 18:41:18 +02:00
Sébastien Villemot 67a1737f00 Update copyright notices 2012-06-08 18:22:34 +02:00
Houtan Bastani cf49fd3b99 preprocessor: handle compilation warnings 2012-06-06 16:30:36 +02:00
Sébastien Villemot 2ac4f59489 Fix bug introduced in 4b86df05 2012-06-05 09:48:03 +02:00
Sébastien Villemot 3175a25663 Preprocessor: remove MATLAB short-circuit operators
They emit a warning under Octave
2012-06-04 17:18:13 +02:00
Michel Juillard 73b4052f2b 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 2098528f9e 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 255d64e6d1 Corrects the number of lead and lags of a block 2012-02-17 10:48:28 +01:00
Sébastien Villemot a32043c2a5 Preprocessor: compute temp. terms for 2nd deriv of residuals and jacobian wrt
params and 1st deriv of hessian wrt to params
2012-01-20 12:07:36 -05:00
Houtan Bastani 67f3a0ecc0 preprocessor: separate dynamic and static functions from their mexfiles 2011-12-23 18:22:41 +01:00
Sébastien Villemot 03fbe74c70 Fix compilation error in preprocessor
Error introduced in ca10372607d71bf2b5d99d2a9fe6c2b3bd352ff4
2011-10-29 12:22:14 +02:00
Ferhat Mihoubi 287c0647fa * Correction of a bug appearing in a block decomposed model when an observable variable are also a state variable 2011-10-28 22:25:05 +02:00
Houtan Bastani b75d0e733f Remove unused expectation syntax 2011-10-26 14:30:47 +02:00
Sébastien Villemot 0298a70faa aux vars: update C++ comment to reflect last changes 2011-10-21 16:56:13 +02:00
Michel Juillard 17c8ae5c9d code simplification after commit 9425b36358b9b1a6dcfb82cbf0cd423c64748bff 2011-10-20 20:40:15 +02:00
Michel Juillard 7d44671996 fixing problems related to auxiliary variables 2011-10-19 12:47:15 +02:00
Ferhat Mihoubi fd923d428d 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 37d438dd5c Cleans the messages displayed 2011-10-12 14:45:53 +02:00
Michel Juillard 16f550a986 preprocessor, auxiliary variables: fixes ordering issue introduced in
347ab4d0c0c79ae9a42898c1d5409d78708bb8a8 and corrects the earlier
ordering problem.
2011-09-28 22:11:44 +02:00
Ferhat Mihoubi c4e0158e44 block-Kalman filter is now available when block option is used 2011-09-20 14:18:31 +02:00
Houtan Bastani 5dc9092723 cosmetic: simplify jacobianHelper, hessianHelper and sparseHelper functions and fix spacing in dynamic file 2011-08-19 16:59:18 +02:00
Ferhat Mihoubi 94e113b7a5 correct a bug during the state variables detection 2011-08-11 14:15:51 +02:00
Houtan Bastani c6a33a96f1 remove writing of getPowerDeriv M function from block code functions 2011-07-25 10:21:02 +02:00
Houtan Bastani 1e4c0852f6 bug fix: getPowerDeriv not accessible from modfile.m 2011-07-19 14:35:35 +02:00
Sébastien Villemot d2696ca2f0 Preprocessor: factorize code common between StaticModel and DynamicModel, and put it in ModelTree 2011-06-22 11:56:07 +02:00
Sébastien Villemot 06f7d23e90 Preprocessor: fix crash when no computational task is required 2011-06-22 11:34:38 +02:00
Ferhat Mihoubi 53fe3fe8ed - 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 7eade47160 external_function: bug fix in writeParamsDerivativesFile, writeDynamicModel and writeStaticMFile 2011-06-10 11:09:43 +02:00
Michel Juillard 007b37f19b updating one comment 2011-05-27 22:09:54 +02:00
Michel Juillard f9287ac796 renamed ramsey_policy_discount_factor by optimal_policy_discount_factor because it is also used by discretionary_policy 2011-05-24 16:02:42 +02:00
Sébastien Villemot 6c37f6def8 Preprocessor: use NaN() for initializing vector of parameters 2011-04-27 12:07:13 +02:00