"Johannes Pfeifer" jpfeifer@gmx.de writes:
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&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. Couldn’t 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.
Sounds like a good idea to me.