Problem in finding a stady state

Hello everyone,

I am replicating a paper that introduces nominal wage rigidities into the search and matching model framework.

Yesterday I encountered something that was very strange to me:
The fifth equation in my model gives the free entry condition, which is obtained by imposing the value of a vacany equal to zero. The equation in question is the following (quation 51 in the attached paper):

c=beta*q*A_N(+1);

Now by writing the equation this way, the code does not run and dynare cannot find any stady state. I noticed, however, that by rearranging the terms and writing:

c/q=beta*A_N(+1);

the code runs correctly with no errors and the residuals are zero.

This confused me greatly, as mathematically nothing has changed, but dynare is now able to find a stady state. By doing several tests and rewriting this equation differently sometimes dynare finds a SS and sometimes it does not. In the cases where an SS is reached, the values found are always the same.

I cannot understand why this happens, am I not considering some rule in dynare? Thank you for any explanation.

search_calvo_2007.mod (2.3 KB)

Paper

You forgot to initialize c in initval. That changes the problem for the block decomposition Dynare performs in the default solve_algo. With solve_algo=0, the steady state is found for both formulations.

Thank you for your answer, this helped me allot. Indeed with solve_algo=0 the model runs in both cases. I am just a bit confused from the first part of the answer.
c is a parameter and I cannot initialize it in initval. Am I understanding your suggestion in the wring way?

That was my mistake. The issue is A_N=0 in steady state. So the static Jacobian with respect to q is 0 if you bring it to the right. That changes the block decomposition and causes a breakdown of the default solution algorithm.