Sébastien Villemot
fb5518849d
Update comment following the renaming of the perfect_foresight_problem DLL
2019-06-18 15:33:56 +02:00
Houtan Bastani
a0f74f5c16
pac growth: allow linear combination
2019-05-14 12:33:59 +02:00
Sébastien Villemot
40ef954802
Add new dynamic_g1_nz.m generated file, for perfect_foresight_stacked_solver DLL
2019-05-03 19:25:23 +02:00
Houtan Bastani
21fe0f4bdc
avoid cast warnings when compiling boost headers
2019-04-23 14:57:03 +02:00
Sébastien Villemot
1907249fac
Ask GCC to warn about C-style casts (-Wold-style-cast)
...
Adapt the code accordingly.
2019-04-23 12:54:11 +02:00
Sébastien Villemot
b73d554ad2
Use Unicode copyright symbol (in UTF-8 encoding)
2019-04-16 11:35:31 +02:00
Houtan Bastani
f1d1c1e1c1
trend_component_model: simplify AR
2019-03-15 12:27:32 +01:00
Houtan Bastani
a3c08f932e
simplify code to find autoregressive matrix for VARs
2019-03-15 12:26:59 +01:00
Houtan Bastani
958661b30f
update comment for map
2019-03-08 12:05:56 +01:00
Houtan Bastani
2201907245
pac: support additive elements whether optimizing agents are present or not
2019-03-07 12:36:08 +01:00
Houtan Bastani
9b1b4113d9
pac: keep order of variables in ec part of pac equation and add scaling factor to output
2019-03-07 11:31:45 +01:00
Houtan Bastani
9963686e72
handle additive terms when PAC equation does NOT have non/optimizing agents
2019-03-05 12:20:45 +01:00
Houtan Bastani
341b9c6667
pac_model: allow diff as argument to growth option
2019-02-28 19:22:34 +01:00
Houtan Bastani
5f013756f2
find additive parts to pac equation
2019-02-27 23:12:05 +01:00
Houtan Bastani
64f55e4a5e
pac: declare endogenous variables needed by pac model consistent expectation before the creation of auxiliary variables
2019-02-25 15:29:46 +01:00
Houtan Bastani
f88682d683
pac: output model type in M_.pac.(model_name)
2019-02-20 16:43:24 +01:00
Houtan Bastani
5e1521f42b
don’t save unnecessary pac model info
2019-02-20 16:38:44 +01:00
Houtan Bastani
240aba6709
move pac info out of pac expectation node
2019-02-20 15:35:13 +01:00
Houtan Bastani
34756833ae
pac: output info into substructures based on pac model name & equation tag
2019-02-19 18:32:42 +01:00
Houtan Bastani
fc6d04b015
create A0 and A0star matrices for trend component models
2019-02-19 12:26:30 +01:00
Houtan Bastani
0ea84fa9a4
pac: allow steady state growth and model consistent expectation substitution in pac equation
2019-02-18 15:11:45 +01:00
Houtan Bastani
d922ae8ffc
pac_model: permit lag on growth option
2019-01-25 14:52:26 +01:00
Sébastien Villemot
01385d1f80
Simplify implementation of nopreprocessoroutput option
...
Simply redirect cout to /dev/null, instead of propagating a boolean
everywhere.
2018-12-20 17:08:45 +01:00
Sébastien Villemot
38152c34a4
Make histval compatible with diff operator
...
The idea is to make use of the dynamic_set_auxiliary_dseries.m file to generate
the initial conditions for all auxiliary variables, including the diffs.
Also remove the check done by the preprocessor for the lags in histval, since
it does not work correctly with the diff operator.
2018-12-11 17:32:05 +01:00
Sébastien Villemot
67ac4bf8ea
Allow diff() and log() in "expression" option of var_expectation_model
2018-11-29 16:01:49 +01:00
Houtan Bastani
41af0841c3
extend nopreprocessoroutput option to substitution output
2018-11-28 11:53:50 +01:00
Sébastien Villemot
d733f3fb5a
Various simplifications and modernizations of the block/bytecode part
2018-11-23 17:19:59 +01:00
Sébastien Villemot
6fa115aedd
Derivation engine w.r.t. endogenous generalized to any order
2018-11-22 17:13:55 +01:00
Sébastien Villemot
4a974bb428
The preprocessor now compiles the MEX when use_dll is specified
...
New options "mexext" and "matlabroot" are introduced, so that the preprocessor
knows where to find MATLAB and which architecture to compile for.
Only recent gcc is now supported. A set of optimization flags is used so that
compilation goes reasonably fast on large models.
Consequently, options "msvc", "mingw" and "cygwin" have been removed.
2018-10-26 18:09:13 +02:00
Sébastien Villemot
bcdfb43fd3
Replate DynamicModel::toStatic() by a converting constructor in StaticModel
...
It is therefore now possible to write:
static_model = static_cast<StaticModel>(dynamic_model);
2018-10-10 17:08:54 +02:00
Sébastien Villemot
0e7d831e6f
Remove redundant private keyword
2018-10-10 17:08:10 +02:00
Sébastien Villemot
f2cf86b734
Add copy constructors / assignment operators for the DataTree class hierarchy
...
In particular, it is necessary to turn back DataTree::AddVariable() into a
non-virtual method, because it is called from DataTree's constructor. Enforcing
the absence of leads/lags is now done using a new boolean DataTree::is_static.
Take advantage of the new copy constructor for handling
PlannerObjectiveStatement more elegantly.
Unfortunately it is not possible to implement *move* constructor / assigment
operators, because the reference ExprNode::datatree is not mutable.
2018-10-10 12:53:55 +02:00
Sébastien Villemot
215283005e
No longer store symbol type in VariableNode
...
This facilitates switching variable types on the fly. In particular, this
allows removing the hack in DynamicModel::updateAfterVariableChange() that way
basically recreating all the nodes after the type change.
2018-10-10 12:34:05 +02:00
Sébastien Villemot
7bb5382428
Always use brace-initializer in constructors
...
The syntax makes clearer the distinction between a function call and an
initialization. Also, it prevents bugs due to implicit type conversions.
2018-10-04 17:19:18 +02:00
Sébastien Villemot
15d026e54e
C output: split generated function into several smaller subfunctions
...
This mimicks the structure of M-functions (though the logic for filling the
temporary terms vector is a bit different).
This change implied a modification in the way we compute the checksum in case
of block decomposition (the temporary terms for the C output are not correctly
computed in that case).
2018-10-01 16:04:01 +02:00
Ferhat Mihoubi
139e3efa82
Adds a new model option "linear_decomposition" that creates a block composed of the non-linear equations o the model
2018-09-28 14:54:52 +02:00
Houtan Bastani
c9f5cef99b
write AST in JSON
2018-09-18 17:48:04 +02:00
Houtan Bastani
85dbb649b7
move trend_component_table and var_model_table to DynamicModel as they are only used there
2018-09-14 17:04:06 +02:00
Houtan Bastani
dc9ecbb49a
fix bug in columns of EC matrix
2018-09-12 17:56:30 +02:00
Houtan Bastani
f71c861d5e
output EC matrix in file for trend component models
2018-09-10 17:44:04 +02:00
Houtan Bastani
46709ada3f
output AR matrix in file for trend component models
2018-09-10 14:51:33 +02:00
Houtan Bastani
f5e5dea1be
support hard-coded parameters and parameter expressions in AR matrix
2018-09-07 10:14:18 +02:00
Houtan Bastani
acc197f539
output AR matrix in file
2018-09-06 18:00:05 +02:00
Houtan Bastani
7a438a3ce7
ensure that trend_variable found is actually a trend variable as declared in the trend_component_model statement
2018-09-03 15:05:30 +02:00
Houtan Bastani
d5d6e8beb0
simplify updating of RHS variables for trend component and var models
2018-08-23 13:57:27 +02:00
Houtan Bastani
539fddc9f6
introduce var model table
2018-08-22 12:15:02 +02:00
Houtan Bastani
afe0e475b1
trend_component_model statement
2018-08-17 16:52:48 +02:00
Houtan Bastani
618147a126
fix typo
2018-08-16 11:09:54 +02:00
Houtan Bastani
c5c61f99ba
fix bug with max_lag reported for PAC equation
2018-08-13 12:12:20 +02:00
Houtan Bastani
0dffee4650
fix typo
2018-08-13 11:08:58 +02:00