Hello everyone, actually i’m comparing a bank capital shock in a dsge model with perturbation and perfect foresight. For perturbation no problems. For perfect foresight if i keep the magnitude of the shock low it converges without problems, however by increasing it, instead of getting the non-convergence message from Dynare (“failed to…” ), it stops with the following error during the iterations:
MODEL SIMULATION:
Iter: 1, err. = 1.4187, time = 1.2
Warning: Matrix is singular to working precision.In sim1>lin_solve (line 194)
In sim1 (line 127)
In perfect_foresight_solver_core (line 102)
In perfect_foresight_solver (line 63)
In SW_EAtot85bankriskGBAC_estadjc3_PF.driver (line 2281)
In dynare (line 278)
In PF_DKP_BankCap (line 58)Iter: 2, err. = 4.63429e+08, time = 2.229
Warning: Matrix is singular to working precision.In sim1>lin_solve (line 194)
In sim1 (line 127)
In perfect_foresight_solver_core (line 102)
In perfect_foresight_solver (line 63)
In SW_EAtot85bankriskGBAC_estadjc3_PF.driver (line 2281)
In dynare (line 278)
In PF_DKP_BankCap (line 58)Error using perfect_foresight_problem
An error occurred when calling SW_EAtot85bankriskGBAC_estadjc3_PF.dynamic_g1_ttError in sim1 (line 67)
[res, A] = perfect_foresight_problem(y, y0, yT, exogenousvariables, M.params, steadystate, periods, M, options);Error in perfect_foresight_solver_core (line 102)
sim1(oo_.endo_simul, oo_.exo_simul, oo_.steady_state, M_, options_);Error in perfect_foresight_solver (line 63)
oo_ = perfect_foresight_solver_core(M_,options_,oo_);Error in SW_EAtot85bankriskGBAC_estadjc3_PF.driver (line 2281)
perfect_foresight_solver;Error in dynare (line 278)
evalin(‘base’,[fname ‘.driver’]);Error in PF_DKP_BankCap (line 58)
eval([‘dynare SW_EAtot85bankriskGBAC_estadjc3_PF’])
Unfortunately i cannot share the code, do you have any general idea about why this may happens? Could be the presence of strong non-linearities in the model?
Thank you all in advance.
Alex Crescentini.