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.