I have a perfect foresight model that can be solved with the default option stack_solve_algo=0. Using robust_lin_solve yieds the same solution.

I would like to check if the solution found is in fact the correct one. Is there a guide for which solution algorithm should be used depending on the characteristics of the model?

A solution is a solution, no matter the underlying algorithm. What do mean with

If there are multiple solutions then different algorithms may converge to different solutions. But a numerical algorithm is not an equilibrium selection device. There is no way to tell which one performs better according to your metric that is obviously exogenous to the model to your implementing.

1 Like

Let us say that there is a unique solution for a given set of parameters (around a large enough neighborhood).

It can be be the case that some of the algorithms available with the perfect foresight simulation in Dynare are more equipped to actually find the solution. Other algorithms might deviate from the solution. It might depend on the behavior of the model.

  1. What are you saying is, if two algorithms converge, and there is a unique solution, then they will all converge to the same solution. The only difference is that some might take longer to reach the solution.

  2. Moreover, if there is a unique solution, usually stack_solve_algo=0,robust_lin_solve will more likely find the solution.

Are these two statements right? Thank you

Yes, those two statements seem correct.

1 Like