Sébastien Villemot
e2ce87b7d5
Preprocessor: don't create auxiliary variables for expressions appearing only
...
in unused model local variables
2010-10-11 12:58:38 +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
c7eff4ba60
- Adding the relaxation method for block and/or bytecode options
...
- Changing the the stack_solve_algo option :
Previous version New version
1 : Sparse LU 0 : Sparse LU
2 : GMRES 1 : Relaxation
3 : BiCGStab 2 : GMRES
4 : Sparse LU & Optimal Path 3 : BiCGStab
5 : bytecode own solver 4 : Sparse LU & Optimal Path
5 : bytecode own solver
2010-09-17 12:18:25 +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
98c371f735
Bug correction in the deterministic simulation: to solve a purely backward or forward looking block requires contemporaneous derivatives only.
2010-09-17 12:17:00 +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
3c57d73120
Preprocessor: clean prototypes of ModelTree methods (removed arguments
...
redundant with data members, added const keywords, use passing-by-reference)
2010-09-16 17:51:50 +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
Sébastien Villemot
0657c7151a
Preprocessor: in the parameter derivatives file, add the global "oo_" when the STEADY_STATE operator is used
2010-08-12 18:16:24 +02:00
Michel Juillard
96bdf8c371
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
Sébastien Villemot
f1abbe724f
Preprocessor: cosmetic changes related to 'size_t'
2010-06-18 15:48:46 +02:00
Sébastien Villemot
bed8f4b689
Preprocessor: use a sparse representation for the 2nd derivatives of residual and jacobian w.r.t. parameters and the derivative of hessian w.r.t. parameters
2010-06-07 18:46:57 +02:00
Sébastien Villemot
30d34f2445
Preprocessor: only compute on demand the 2nd derivatives of residual and jacobian w.r.t. parameters and the derivative of hessian w.r.t. parameters
2010-06-07 16:42:27 +02:00
Sébastien Villemot
4a23d93199
Preprocessor: changing return order of parameter derivatives to match Marco's code
2010-06-04 09:57:56 +03:00
Michel Juillard
cfa624f52f
preprocessor: corrected missing initialization of v3 in <fname>_dynamic.c
2010-05-21 11:38:23 +02:00
Sébastien Villemot
49bdcef648
Preprocessor: replace non-standard operators 'and'/'or' by '&&'/'||'
2010-04-28 16:03:32 +02:00
Sébastien Villemot
19338906ba
Preprocessor: add a check to DynamicModel::toStatic()
2010-04-23 18:32:30 +02:00
Sébastien Villemot
4b96b35dad
Preprocessor: changed the prototype of DataTree::AddLocalVariable()
2010-04-23 18:32:14 +02:00
Houtan Bastani
eb4efa59ac
second derivatives of model equations w.r.t. parameters.
2010-03-16 10:15:19 +01:00
Houtan Bastani
b291f4fcf7
small fix to implementation of second derivatives of jacobian w.r.t. parameters
2010-03-15 17:23:55 +01:00
Houtan Bastani
19c4f7426c
second derivatives of jacobian w.r.t. parameters
2010-03-15 16:02:07 +01:00
Houtan Bastani
ad31f7388e
derivative of hessian w.r.t. params.
2010-03-11 16:51:07 +01:00
Houtan Bastani
12c4a52ebc
Add support for external functions
2010-02-23 18:15:18 +01:00
Sébastien Villemot
eba049899e
Preprocessor:
...
* in DataTree, new functions for testing if some opcode (unary, binary or trinary) is used somewhere in the tree
* removed DataTree::containsSteadyState(), rather use a call to the new utility function
2010-02-23 16:45:56 +01:00
ferhat
b5727e0658
Adds location indications in error message of "bytecode" + minor correction (string passed as &string).
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3374 ac1d8469-bf42-47a9-8791-bf33cf982152
2010-01-22 16:42:08 +00:00
ferhat
0efd5b1621
"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
houtanb
77897d691e
expectation conditional on a restricted information set
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3367 ac1d8469-bf42-47a9-8791-bf33cf982152
2010-01-18 22:08:44 +00:00
sebastien
0011678cb5
Changes by Ferhat:
...
* fix options stack_solve_algo={2,3,4} (closes #68 )
* fix crashes for singular normalizations (closes #44 ) and implement decreasing cutoff
* fail for stack_solve_algo=2 under Octave (because there is no gmres function in Octave)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3279 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-21 10:29:21 +00:00
sebastien
e6f1a53e60
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
aa23ed73e9
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
76e691c651
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
af732433d7
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
26185780ac
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
houtanb
cb52002b77
added default cases to remove gcc warnings
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3116 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-02 18:31:50 +00:00
stepan
bd3ae5a1e9
Removed changes introduced in revision 3108.
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3111 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-31 10:54:58 +00:00
stepan
b998047499
Merge branch 'master' of git@vandrezanne.net:/home/git/repositories/dynare
...
Conflicts:
preprocessor/DynamicModel.cc
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3108 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-31 07:55:10 +00:00
houtanb
c6ae95e084
changed expectation operator from BinaryOpNode to UnaryOpNode
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3102 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-30 05:21:54 +00:00
sebastien
ffd9b2d405
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
ferhat
3c2d944cfc
- use of classes to describe the bytecode tags
...
- use static option for bytecode instead of steady_state option
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3048 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-16 16:34:27 +00:00
sebastien
80b1e63cdc
preprocessor: implement third-order derivatives in USE_DLL mode
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3036 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-12 16:09:16 +00:00
sebastien
9a673167f8
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
c84df1aace
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
houtanb
b765264621
fixes global oo_ declaration for steady state operator as discussed on 14 Sep
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3020 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-02 18:36:07 +00:00
sebastien
522de968d0
preprocessor: reverted useless changes from last commit
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3016 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-02 17:02:35 +00:00
ferhat
ece194b602
The local variables are implemented with byte code
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3015 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-02 16:47:43 +00:00
sebastien
97cb944831
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
ferhat
4dff75d79c
- the "steady_state" function is implemented with the "bytecode" option
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2952 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-18 16:34:11 +00:00
sebastien
ee49993202
Don't create model subdirectory in block+bytecode mode
...
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2904 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-08 08:07:07 +00:00