What I forgot: This check should only be run of task==1, i.e. if we check the model for uniqueness and stability, but not when e.g. estimating it.
--
Johannes Pfeifer
Haußerstr. 29
72076 Tübingen
Tel.: +49-(0)7071-6396184
Mobil.: +49-(0)170-6936820
Germany
Von: dev-bounces@dynare.org [mailto:dev-bounces@dynare.org] Im Auftrag von Johannes Pfeifer Gesendet: Freitag, 20. Juli 2012 09:14 An: 'List for Dynare developers' Betreff: [DynareDev] Uninitialized Parameters and stochastic_solvers
Dear Michel,
Is there a reason we only check for imaginary elements of the Jacobian in stochastic_solvers, i.e.
if ~isreal(jacobia_)
if max(max(abs(imag(jacobia_)))) < 1e-15
jacobia_ = real(jacobia_);
else
info(1) = 6;
info(2) = sum(sum(imag(jacobia_).^2));
return
end
end
I would prefer to also check for NaNs, because in the forum people frequently have problems with messages like
The generalized Schur (QZ) decomposition failed. For more information, see the documentation for Lapack function dgges: info=17, n=17 see e.g. http://www.dynare.org/phpBB3/viewtopic.php?f=1 http://www.dynare.org/phpBB3/viewtopic.php?f=1&t=3949&p=9515#p9515 &t=3949&p=9515#p9515
The issue always is that some parameters are not correctly initialized, but the error message is too cryptic to associate the error with the warnings of the preprocessor before. Couldnt we also test for NaN in the Jacobian and if there are some, check the parameters and print in the error message which of them were not initialized?
If you think this might be worthwhile, I would be willing to implement it.
Best,
Johannes
--
Johannes Pfeifer
Haußerstr. 29
72076 Tübingen
Tel.: +49-(0)7071-6396184
Mobil.: +49-(0)170-6936820
Germany