ÿÿÿ
Lines 399-418 set the measurement covariance matrix and save it to H1.
If it is diagonal, it is not recomputed again as
correlated_errors_have_been_checked is 0. In that case, lines 654-675
are not entered and univariate_kalman_filter tries to use the old H, but
it was named H1 before, leading to a crash. Changing the name of the
matrix H in lines 654-682 to H1 assures that univariate_kalman_filter
uses the correctly updated matrix of the
~correlated_errors_have_been_checked and the previously computed H1 in
the other cases.
Previously, with pruning set to 1 and the option k_order_solver, the
fields like dr.ghu were not set in k_order_pert, even at order=1. But
stoch_simul tries to use them to display the decision rules. Similarly
for order 2. The respective setting of the decision rule fields is now
moved to the respective cases and always conducted at order 1 and
conducted at order 2. This avoids crashes if decision rules of
theoretical moments are requested.
With a previously set loglinear option, both k_order_pert and
stochastic_solvers at order>1 transformed the first order solution, but
kept the higher order terms untransformed. Now, both functions output an
error.
Currently, all stochastic solvers put the error code to info(1) and use
print_info to output the error. The only exception was k_order_pert,
which immediately created an error. Thus, the use of k_order_pert did
not allow for continuing after encountering errors, because only
print_info obeys the noprint-option. Replacing mexErrCheck by setting
info should deliver the correct behavior.
If the mode_file option was used, xparam1 was reloaded from the
mode-file after the initial checks, sometimes leading to very cryptic
errors. Now the initial checks already load the correct parameter
vector.
The unit test uses the policy rules of Fernandez-Villaverde et al.
(2011)'s "Risk matter" derived from Mathematica to compare them to the
Dynare matrices. If the policy functions differ by more than 1e-9, an
error is produced.
Implements and documents the Andreasen et al. 2013 pruning at order=3
and sets it as the default at this order. Michel's pruning based on the
approximation of the forecast function has been assigned the option
pruning_forecast_approximation. The preprocessor-interface still needs
to be added for this option. Moreover, more documentation/a reference
what this option does is needed. At a later point, we might change the
default to Michel's approach.