Commit Graph

182 Commits (416b7b849f9e2065eb3fec261c7819afa28a7871)

Author SHA1 Message Date
Houtan Bastani e4916a1d84 preprocessor: display a summary of preprocessor warnings at the end of a Dynare run 2012-01-30 10:44:14 +01:00
Michel Juillard c60de03e84 the overall time of execution is now saved in the log file 2012-01-22 16:09:42 +01:00
Houtan Bastani 7c8baba064 warning output stream should be cerr 2012-01-18 14:42:57 +01:00
Houtan Bastani 67f3a0ecc0 preprocessor: separate dynamic and static functions from their mexfiles 2011-12-23 18:22:41 +01:00
Houtan Bastani 29d8028fc4 preprocessor: add prior statement 2011-12-21 12:21:29 +01:00
Sébastien Villemot bb39de5496 Preprocessor: delete _steadystate2.m file from previous run if exists
Closes: #224
2011-11-25 15:13:16 +01:00
Michel Juillard 411a7fa683 fixed "clear global" for Octave 2011-11-22 22:09:13 +01:00
Michel Juillard c9509817f0 another work-around for Octave 3.2 bug with "clear all" 2011-11-21 15:03:19 +01:00
Michel Juillard 805d01c785 use "clear -all" instead of "clear all" when running under Octave 2011-11-20 14:48:01 +01: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 c4e0158e44 block-Kalman filter is now available when block option is used 2011-09-20 14:18:31 +02:00
Houtan Bastani ab589aaaa8 output derivatives of static model when identification is present (closes #127) 2011-08-19 16:58:44 +02:00
Houtan Bastani 5c48733f55 output mex file for static model (closes #183) 2011-08-19 16:57:27 +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
Michel Juillard 7433d140f7 discretionary_policy: fixing bug in preprocessor requirements 2011-06-18 06:53:00 +02:00
Sébastien Villemot 282f34b2d3 Preprocessor: adopt a more consistent behavior when no computing task is requested 2011-05-03 11:28:43 +02:00
Sébastien Villemot 54c5d256c0 Preprocessor: tentative fix for testsuite crash in block/bytecode 2011-04-28 10:41:43 +02:00
Sébastien Villemot fc15cd2583 Preprocessor: cosmetic change 2011-04-28 10:39:59 +02:00
Houtan Bastani be4c5c92ef ramsey_policy: allow discount factor to be an expression 2011-03-29 18:18:32 +02:00
Houtan Bastani be236c6402 code cleanup 2011-03-28 11:34:42 +02:00
Houtan Bastani d2a6f0f42c Implement explicit writing of first order conditions of Ramsey problem (ticket #5) 2011-03-24 17:17:15 +01:00
Houtan Bastani de28e06bc4 bug fix: change order of the way we handle expectation operators and trend vars in transformpass 2011-03-23 15:46:04 +01:00
Ferhat Mihoubi d7ef08adf9 Check for varexo_det declaration and simul command incompatibility in the same mode-file 2011-03-18 12:47:06 +01:00
Michel Juillard 571aba6d97 adding syntax checks for discretionary_policy in the preprocessor 2011-03-17 20:13:09 +01:00
Houtan Bastani f8a717b496 bug fix: check that osr, osr_params and optim_weights appear together 2011-03-03 16:31:36 +01:00
Houtan Bastani d430ea8e43 bug fix: check that planner_objective and ramsey_policy statements appear together 2011-03-03 16:31:33 +01:00
Houtan Bastani edc3fa998d fixed error message 2011-03-03 15:24:59 +01:00
Sébastien Villemot 60b70df4c1 Updated copyright notices 2011-02-04 17:27:33 +01:00
Sébastien Villemot d264b7b2e3 Reindentation of the preprocessor 2011-02-04 16:25:38 +01:00
Ferhat Mihoubi 89eecb3253 Allows for block decomposition if "simul" command is not present in the mod file. 2011-01-31 09:58:13 +01:00
Houtan Bastani 94f82b312b k-order: added support for m-files, added tests and modified manual 2010-12-22 09:48:05 +01:00
Ferhat Mihoubi 751c0da2a1 - external functions are compatible with block decomposition and/or bytecode 2010-12-10 12:06:50 +01:00
Sébastien Villemot 818f7df793 Preprocessor: delete remaining dynamic.m file when using USE_DLL 2010-12-08 11:32:13 +01:00
Sébastien Villemot 33d340dd04 Preprocessor: also perform numeric initializations in stochastic context 2010-11-25 16:07:55 +01:00
Sébastien Villemot eaad0b1263 Preprocessor: various cleanups related to the signed vs non-negative numerical constants issues 2010-11-25 13:45:35 +01:00
Sébastien Villemot acce150795 New "console" option (closes #130) 2010-10-28 11:29:39 +02:00
Houtan Bastani ad73ab0a83 Dynare parallel: preprocessor implementation 2010-10-28 10:54:43 +02:00
Houtan Bastani a7fc3361ac trend_var, growth_factor, deflator: stationarize a nonstationary model and test 2010-10-18 16:07:42 +02:00
Houtan Bastani 5327f161d4 external_function: add support for use_dll 2010-10-07 18:05:07 +02:00
Ferhat Mihoubi 3e1a2ad450 - 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
Sébastien Villemot ffd2cb24aa Preprocessor: make option "no_static" work even when "bytecode" is not present 2010-09-17 12:17:05 +02:00
Ferhat Mihoubi f68e4fd455 - 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
Michel Juillard 6c0a0969f6 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 fe133054cf DSGE-Var: bug fix. Add init param statement at the before the estimation statement 2010-06-24 15:08:23 +02:00
Houtan Bastani ee9b19fadc DSGE-VAR: support deprecated way of declaring dsge_prior_weight 2010-06-22 10:38:54 +02:00
Houtan Bastani 5a9f972cc1 DSGE-VAR: introduce dsge_var and dsge_varlag options to estimation statement 2010-06-22 10:38:43 +02:00
Sébastien Villemot 211056f552 Steady state file: in the presence of 'ramsey_policy', no longer check that the declarations are recursive, and use input vector of steady state file as initial values 2010-05-31 17:43:17 +02:00
Sébastien Villemot 5546658b4d Preprocessor: with 'steady_state_model' command, write auxiliary equations in the steady state file 2010-04-27 17:04:52 +02:00
Sébastien Villemot d68e984fd6 Preprocessor: added new 'steady_state_model' keyword for automatically creating steady state file 2010-04-23 18:39:07 +02:00
Sébastien Villemot 71d577bcb8 Preprocessor:
* give the possibility of calibrating measurement errors in the "shocks" blocks (only for observed endogenous variables)
* M_.H is now initialized in the preprocessor
* only one "varobs" statement is now accepted in a MOD file
2010-04-14 15:03:41 +02:00
Sébastien Villemot 656a515832 Preprocessor: removed spurious warnings 2010-03-29 12:52:29 +02:00
Sébastien Villemot c33d6fb110 Preprocessor: fixed bug with warnings (they were all disabled) 2010-03-29 12:44:20 +02:00
Houtan Bastani a70b60604c Modified external functions to enforce consistent number of function arguments within model_block 2010-03-03 11:40:13 +01:00
Houtan Bastani 9abc7563c1 Add support for external functions 2010-02-23 18:15:18 +01:00
Sébastien Villemot b652c563ba Preprocessor: add error message when using USE_DLL with MSVC and some function unsupported by MSVC 2010-02-23 16:59:34 +01:00
Sébastien Villemot c471a41fef preprocessor: under Octave/Windows, with USE_DLL, do not require "cygwin" or "msvc" option (closes #76) 2010-02-17 18:40:52 +01:00
ferhat f13b95cb87 "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
stepan 0dcff27478 Fixed a bug introduced in commit 3319 (trunk). If my understanding is correct, some parenthesis
were missing in the IF condition (causing a preprocessor error). 



git-svn-id: https://www.dynare.org/svn/dynare/trunk@3336 ac1d8469-bf42-47a9-8791-bf33cf982152
2010-01-10 21:35:32 +00:00
ferhat 0808ba42b7 Add new model option no_static : avoid to compute the static model. Useful for models without steady-state.
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3319 ac1d8469-bf42-47a9-8791-bf33cf982152
2010-01-08 11:06:25 +00:00
sebastien 80e8c10327 Fix problem with USE_DLL under Octave 3.2 (closes #70)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3269 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-18 13:35:50 +00:00
sebastien 3aa8876538 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 160ec5d7ca 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 07d536d020 * Fix USE_DLL option at order 2 (closes #64)
* Added a corresponding test


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3236 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-14 11:06:29 +00:00
sebastien 11dc0707c3 preprocessor: fixed USE_DLL under Linux and add a provision for MacOS (need to be tested)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3226 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-11 15:34:47 +00:00
sebastien 628f0aa8af USE_DLL option now works with MSVC + Added new options for Windows to 'dynare' command, to select the compiler: 'cygwin' and 'msvc' + Added the mexopts.bat for Cygwin in the SVN
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3223 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-11 14:46:21 +00:00
sebastien 270f8d7b1d k-order:
* in the preprocessor, fail if k_order_solver given without use_dll
* updated the reference manual, in particular w.r. to the new wiki page on MEX compilation under Windows


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3216 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-09 11:50:58 +00:00
george aa9f25129f added missing " >> mex.def" for mexFunction as Matlab could not find mexFunction any more
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3213 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-08 18:45:33 +00:00
michel e9ae994ea2 4.1 preprocessor: removing -v option in mex under Linux
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3211 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-08 15:12:59 +00:00
michel 981d8cba60 mex for Linux (to be tested)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3210 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-08 14:02:02 +00:00
michel 131c90ceba 4.1 preprocessor: exporting "Dynamic" symbol is necessary only in Windows; added test for ispc
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3209 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-08 12:00:55 +00:00
michel fc719ad8c7 4.1 preprocessor: exporting Dynamic symbol when making mex file for dynamic model with Matlab
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3208 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-08 11:49:25 +00:00
sebastien 9780bc1727 Removed last remnants of "ct_" global variable
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3187 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-01 16:30:56 +00:00
sebastien 8a87993000 preprocessor: fixed option "use_dll" (and therefore "k_order_solver") for Octave
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3178 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-30 16:36:00 +00:00
sebastien 4419f4aa51 preprocessor: allow the omission of model block when sbvar or ms_sbvar statement is used
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3169 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-26 17:25:04 +00:00
sebastien 05071c6295 preprocessor: when there is no computing task, compute the hessian in the dynamic file
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3147 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-12 17:01:26 +00:00
sebastien 5568e622b8 preprocessor:
* fixed a bug with EXPECTATION operator: now handle model local variables
* substitute EXPECTATION operator even in deterministic models (for avoiding crashes, even if use of this operator doesn't make sense there)
* forbid the use of EXPECTATION and STEADY_STEATE outside model block
* minor implementation changes in EXPECTATION and STEADY_STATE operators

reference manual:
* documented EXPECTATION and STEADY_STATE operators
* added a note in write_latex_{static,dynamic}_model commands documentation about auxiliary variables and other model transformations


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3145 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-09 15:13:47 +00:00
sebastien 6bd2cb04de 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 07ba8ebdee 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 bd43182acc * preprocessor: make optional the warnings about uninitialized parameters/endogenous/exogenous, added a new "warn_uninit" option to dynare command to display them
* reference manual: documented the new option, fixed XML conformance of the document


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3135 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-06 18:31:03 +00:00
sebastien 2e585124e9 preprocessor: always create a dynamic model file, even when there is no Dynare command needing it
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3126 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-05 09:59:30 +00:00
sebastien 760085d6fe 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 2761b4c016 preprocessor: remove unnecessary stuff ("forecast" has not the same rank than "stoch_simul/estimation/osr/ramsey_policy")
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3062 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-20 16:17:27 +00:00
sebastien 7bfeef5d7f 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 021e0ebb2e 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 b7fe92c012 preprocessor: always trigger creation of *_dynamic.m file when "identification" is present
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3021 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-06 08:56:02 +00:00
sebastien 04cec8a438 preprocessor: always compute the Dynamic hessian when "identification" keyword is present
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3003 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-01 08:03:40 +00:00
sebastien 2f1382fab5 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
sebastien bf99443ecf Added error message if bytecode option specified but no bytecode DLL found
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2896 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-03 16:34:15 +00:00
ferhat b17886ee12 - get rid of block and bytcode variable in SimulStatement and StochSimulStatement
- minimalist version of dynamicmodel when no dynamic model is needed

git-svn-id: https://www.dynare.org/svn/dynare/trunk@2883 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-02 16:44:15 +00:00
sebastien 00d887f984 Various cleanups related to new options "bytecode" and "block"
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2879 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-02 13:36:56 +00:00
ferhat 0b986771a4 - bug fix: block not set to 1 in StaticModel
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2877 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-08-31 18:56:29 +00:00
ferhat 0a816a4e74 New options for block decomposition and bytecode (see http://www.dynare.org/DynareWiki/ByteCode):
- the options "sparse_dll" and "sparse" are no more available. They are replaced by combinations of block (for block decomposition) and bytecode (for model stored in a binary file)
- markowitz is now an option of simul and steady commands


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2873 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-08-29 15:04:11 +00:00
ferhat 4897b602c6 - extension of normalization of equations to nonlinear equations
- mfs: new option for 'steady' and 'model' commands. Determines the equation belonging to the set of feedback variables.
  mfs = 0 => all variables are considered as feedback variables (default value)
  mfs = 1 => using only naturally normalized equation as potential recursive equations (all variables assigned to unnormalized equations are considered as feedback variable)
  mfs = 2 => adding to the set of potential recursive equation with mfs = 1 the linear equation in endogenous variable normalized (all variables assigned to nonlinear unnormalized equations are considered as feedback variable)
  mfs = 3 => adding to the set of potential recursive equation with mfs = 2 the non linear equation in endogenous variable normalized
- correction of few buggs in simulate.dll
- block_mfs_dll: new option for 'steady' command. Use simulate.dll to solve the steady state model (speedup the computation of the steady-state and the homotopy)

git-svn-id: https://www.dynare.org/svn/dynare/trunk@2866 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-08-25 09:43:01 +00:00
sebastien 77590c8577 Some restructurings in the preprocessor:
* StaticModel: dropped creation of C file in USE_DLL mode
* StaticModel: added computation of derivatives for block MFS mode
* DynamicModel: catch error codes of mkdir()
* ModelTree: moved "mode" member variable to DynamicModel
* ModFile::writeOutput(): moved manipulations relative to dynamic model file to DynamicModel


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2818 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-07-07 14:20:48 +00:00
sebastien aedc60cbc1 trunk preprocessor: added new option "block_mfs" to "steady"
* normalizes the static model
* computes its block decomposition, using topological order
* for each block, computes minimum feedback set of variables
* at this stage, only produces text output (no change in the computation of steady state)


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2798 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-06-30 15:07:09 +00:00
ferhat 3737c1aa2e - Correction of several bugs
- normalize an equation linear in its endogenous variable
- Chained rule derivatives (necessary to reduce a block to the feedback equations and variables)

git-svn-id: https://www.dynare.org/svn/dynare/trunk@2726 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-06-05 14:45:23 +00:00
sebastien 5437ff057a trunk preprocessor: cosmetic changes
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2653 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-30 13:05:21 +00:00
sebastien f19f36d9ac trunk preprocessor: enforce impossibility of mixing deterministic and stochastic statements, even in Sparse/SparseDLL modes
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2649 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-29 11:35:44 +00:00
sebastien 9179ebe4cf trunk preprocessor: use assert() function at several places
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2642 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-28 16:21:39 +00:00