"Failed to find a solution to the linear system" in a simple RBC model

Dear all

I am working with a simple RBC model, with the novelty of including a nested CES with three separate inputs.
Although I have no problem at obtaining the Steady State (which I can even calculate by hand), I get an error when I try to get the perfect foresight solution. Specifically:

“WARNING : Failed to find a solution to the linear system.”
“Warning: Matrix is singular to working precision”

After iteration 3, Dynare displays the IRs, but the warnings are puzzling…

Moreover, when the model diagnostic is executed I get a message about the possibility that the Jacobian singularity problem comes from a redundant equation. But apparently it doesn’t seem to be the case …

I would really appreciate your help! :slight_smile:

I attach the .mod file (TFCRBC.mod (10.4 KB)) and a pdf with the model’s equations (Model equations.pdf (111.7 KB) ), in case it helps.

The warning can be ignored as there is a working iteration at the end. Regarding the singularity, it may have to do with the frequent use of the steady state operator in your model. You seem to try to endogenously things that you only normalize, e.g. STEADY_STATE(y).

I would recommend dealing with parameter dependence properly and using a steady_state_model-block.

1 Like

Hi professor Pfeifer:

Thank you so much for your reply!

It is a relief to know that I can use the IRs, ignoring the warning.

And you are right, when instead of the STEADY_STATE () operator I use parameters to define the normalization point, the model_diagnostics () yields:
“No obvious problems with this mod-file were detected” :slight_smile:
I’ll take a look at the steady-state-model-block thing anyway.

Thanks again!

Dear Professor Pfeiffer,

I’m sorry for my insistence, but I’ve been “playing” with the model and there are several things that confuse me …
In particular, the perfect_foresight_solver only works with Newton’s method option (0), and not with Julliard’s algorithm.

Another puzzling thing is that when, using model (block), I remove one of Euler’s conditions, and replace it with (qk + 1-deltak) = (qr + 1-deltar), which should be equivalent, I also get a shocking result . It tells me that there are only two forward-looking variables … When it is obvious that there are three (and it turns out that way when I don’t use model (block)).

It seems that the model only works under very specific circumstances (all this with dynare 4.6.1., In dynare 4.4.3., It does not work under any option), and it worries me … Any ideas? I can’t quite understand how such an apparently simple model gives these problems :frowning:

Thank you so much!

  1. It’s not too unusual that some algorithms work better than others.
  2. The block-part seems strange. Can you please provide the mod-file for this case?
1 Like

Of course professor Pfeifer,

The “funny” thing is that when instead of model (block); I just use model; it works!
TFCRBC.mod (10.2 KB) I attach the .mod file.

Thank you very, very much!

You wrote that when using block

Where can I see this? And which Dynare version did you use?