– PAC model: fixes to M_.pac.MODEL.ar (information about autoregressive part)
+ Fix order of items in this structure. Previously, items were ordered
according to the declaration order of parameters. Now, items are order
according to lag order (first lag appears first)
+ Gracefully handle the case where there is no autoregressive part
(Ref. Dynare/preprocessor#52)
– Block decomposition:
+ bugfix for solve one boundary blocks with mfs>0
+ fix evaluation of recursive variables in solved blocks
(Ref. Dynare/dynare#1726)
— Fix various potential bugs with model local variable
— Ensure that negative constants are never marked as temporary terms
By the way, activate tests/pac/trend-component-31/example.mod, since it should
now work.
- block trust region solver now available under solve_algo=13
It is essentially the same as solve_algo=4, except that Jacobian by finite
difference is not handled. A test file is added for that case
- block trust region solver with shortcut for equations that can be evaluated
is now available under solve_algo=14 (in replacement of the pure-MATLAB solver)
Closes: Enterprise/dynare#3
In a PAC equation, the error correction term must be written as:
β×(yₜ₋₁-xₜ₋₁)
where x is the endogenous variable determined by the equation and y
the target for x. The ordering matters, if not respected the
preprocessor wll not identify the error correction term (hence the
target) and will throw an error. The target must be an endogenous
variable or the log of an endogenous variable. For a more general
target, ie an expression, one can create an auxiliary variable.
We impose the ordering, target comes first in the error correction
term, so that the stability condition is always β>0 (this constraint
can be enforced when estimating the PAC equation).
Identification should switch to analytic_derivation_mode=-2 if steady state block/file changes parameter values. Dynare/dynare!1732 already adresses this when there is a prior specified. This fix also addresses this when there are no priors.
kim2.mod is now not only an integration test but also a unit test for this.
— Bug fix: allow external functions in model local variables (also add corresponding
integration test)
— JSON output:
+ do not append two underscores after model local variable names in their
definition
+ when writing the model after computing pass, use TEF terms for (not
derived) external functions
+ write model local variables in parsed model (modfile.json) (Closes: #1723)
— In the driver file, provide mapping between model local variables and indices
in the temporary terms vector (Closes: #1722)