# Eigenvalues larger than 1 in modulus for some forward-looking variables

**URL:** <https://forum.dynare.org/t/eigenvalues-larger-than-1-in-modulus-for-some-forward-looking-variables/12289>\
**Category:** Stochastic simulations\
**Created:** [17 August 2018 20:36 UTC](https://forum.dynare.org/t/eigenvalues-larger-than-1-in-modulus-for-some-forward-looking-variables/12289 "2018-08-17T20:36:23Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![shouwangsp08](https://forum.dynare.org/letter_avatar_proxy/v4/letter/s/ce7236/32.png) [@shouwangsp08](https://forum.dynare.org/u/shouwangsp08)\
**Post date:** [17 August 2018 20:36 UTC](https://forum.dynare.org/t/eigenvalues-larger-than-1-in-modulus-for-some-forward-looking-variables/12289/1 "2018-08-17T20:36:24Z")

</div>

Hi,

I used dynare to run the attached code to try to replicate the results of a paper. However, it reported that

> Blockquote  
> There are 5 eigenvalue(s) larger than 1 in modulus  
> for 6 forward-looking variable(s)  
> The rank condition ISN’T verified!  
> error: Blanchard Kahn conditions are not satisfied: indeterminacy

Then I employed the command " model\_diagnostics". And it told me that

> Blockquote  
> error: ‘M’ undefined near line 38 column 12  
> error: called from  
> model\_diagnostics at line 38 column 10

I have no idea how to deal with it now. Is there anyone who can help me? I will really appreciate your help.

Best,

Samson[params.m](https://forum.dynare.org/uploads/default/original/2X/3/37ff5e9f8a085a04e2d8164c88049cc1fccf87b5.m) (780 Bytes)  
[main201808.mod](https://forum.dynare.org/uploads/default/original/2X/8/8b1ebb8f3670f8c40c6618ba1a3899c4213e1f1c.mod) (2.8 KB)  
[main201808\_steadystate.m](https://forum.dynare.org/uploads/default/original/2X/7/79f9d8a174e55bf6b0d066951ff6f404ceba41f6.m) (4.8 KB)

---

<div class="post-metadata">

**Author:** ![stepan-a](https://forum.dynare.org/user_avatar/forum.dynare.org/stepan-a/32/6652_2.png) [@stepan-a](https://forum.dynare.org/u/stepan-a)\
**Post date:** [17 August 2018 22:21 UTC](https://forum.dynare.org/t/eigenvalues-larger-than-1-in-modulus-for-some-forward-looking-variables/12289/2 "2018-08-17T22:21:52Z")

</div>

How did you call the `model_diagnostic` routine? Did you pass `M_`, `options_` and `oo_` (in that order) as input arguments?

Best,  
Stéphane.

---

<div class="post-metadata">

**Author:** ![shouwangsp08](https://forum.dynare.org/letter_avatar_proxy/v4/letter/s/ce7236/32.png) [@shouwangsp08](https://forum.dynare.org/u/shouwangsp08)\
**Post date:** [18 August 2018 02:59 UTC](https://forum.dynare.org/t/eigenvalues-larger-than-1-in-modulus-for-some-forward-looking-variables/12289/3 "2018-08-18T02:59:03Z")

</div>

Dear Stephane,

I first ran ‘dynare main201808’. It showed

> Blockquote  
> There are 5 eigenvalue(s) larger than 1 in modulus  
> for 6 forward-looking variable(s)  
> The rank condition ISN’T verified!  
> error: Blanchard Kahn conditions are not satisfied: indeterminacy

In order to find a way dealing with it, I googled and found a kind of suggestion about using “model\_diagnostics” from dynare forum. Then I typed “model\_diagnostics” in command window and the following report showed up.

> Blockquote  
> error: ‘M’ undefined near line 38 column 12  
> error: called from  
> model\_diagnostics at line 38 column 10

Actually in my “main201808\_steadystate.m”, I used “M\_.params” and “M\_.orig\_endo\_nbr” to calculate the steady state. Thank you.

Best regards,

Pin

---

<div class="post-metadata">

**Author:** ![stepan-a](https://forum.dynare.org/user_avatar/forum.dynare.org/stepan-a/32/6652_2.png) [@stepan-a](https://forum.dynare.org/u/stepan-a)\
**Post date:** [18 August 2018 08:40 UTC](https://forum.dynare.org/t/eigenvalues-larger-than-1-in-modulus-for-some-forward-looking-variables/12289/4 "2018-08-18T08:40:34Z")

</div>

To be sure, did you type the following:

```matlab
>> model_diagnostics(M_, options_, oo_)

```

But I am not sure that this command will help to understand why you have too many stable eigenvalues (indeterminacy).

Best,  
Stéphane.

---

<div class="post-metadata">

**Author:** ![shouwangsp08](https://forum.dynare.org/letter_avatar_proxy/v4/letter/s/ce7236/32.png) [@shouwangsp08](https://forum.dynare.org/u/shouwangsp08)\
**Post date:** [18 August 2018 14:30 UTC](https://forum.dynare.org/t/eigenvalues-larger-than-1-in-modulus-for-some-forward-looking-variables/12289/5 "2018-08-18T14:30:55Z")

</div>

Dear Stephane,

I typed “model\_diagnostics(M\_,options\_,oo\_)”. Then the following result displayed.

> Blockquote  
> model\_diagnostics(M\_, options\_, oo\_)  
> MODEL\_DIAGNOSTICS: No obvious problems with this mod-file were detected.

It sounds like it did not work. Is there any other way I can use?

Thank you,

Samson

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [19 August 2018 12:28 UTC](https://forum.dynare.org/t/eigenvalues-larger-than-1-in-modulus-for-some-forward-looking-variables/12289/6 "2018-08-19T12:28:36Z")

</div>

You need to check the timing of your equations. For example, usually the FOC for consumption has forward-looking terms.

---

<div class="post-metadata">

**Author:** ![shouwangsp08](https://forum.dynare.org/letter_avatar_proxy/v4/letter/s/ce7236/32.png) [@shouwangsp08](https://forum.dynare.org/u/shouwangsp08)\
**Post date:** [19 August 2018 22:43 UTC](https://forum.dynare.org/t/eigenvalues-larger-than-1-in-modulus-for-some-forward-looking-variables/12289/7 "2018-08-19T22:43:28Z")

</div>

Dear Professor,

I got it. Thank you for your helpful advice. I eventually fixed my problem.

Best regards,

Samson

---

<div class="post-metadata">

**Author:** ![Musadauda2022](https://forum.dynare.org/letter_avatar_proxy/v4/letter/m/958977/32.png) [@Musadauda2022](https://forum.dynare.org/u/Musadauda2022)\
**Post date:** [13 August 2022 23:10 UTC](https://forum.dynare.org/t/eigenvalues-larger-than-1-in-modulus-for-some-forward-looking-variables/12289/8 "2022-08-13T23:10:16Z")

</div>

Dear Samson,

How did you fixed the problem, I have been facing same challenges for some weeks now. I have worked on the timing, but still having the same issue. I will appreciate if you can work me through. Thank you.

---

<div class="post-metadata">

**Author:** ![jplimagomes](https://forum.dynare.org/letter_avatar_proxy/v4/letter/j/3ec8ea/32.png) [@jplimagomes](https://forum.dynare.org/u/jplimagomes)\
**Post date:** [23 August 2023 15:56 UTC](https://forum.dynare.org/t/eigenvalues-larger-than-1-in-modulus-for-some-forward-looking-variables/12289/9 "2023-08-23T15:56:14Z")

</div>

I’m dealing with the same problem. I’ve tried changing the calibration, but the problem persists. When I run the model, the following message appears:

> Blockquote  
> There are 13 eigenvalue(s) larger than 1 in modulus  
> for 12 forward-looking variable(s)  
> The rank condition ISN’T verified!

The message is followed by:

> Blockquote  
> Error using print\_info (line 32)  
> Blanchard & Kahn conditions are not satisfied: no stable equilibrium.

However, when I run model\_diagnostics, there are no error indications:

> Blockquote  
> MODEL\_DIAGNOSTICS: No obvious problems with this mod-file were detected.

I send my .mod file and the m. file for calculating the steady state values (which are parameters in the already linearized model). Thank you in advance for any help.

[test1\_steadystate.m](https://forum.dynare.org/uploads/short-url/5xVmEXNxqcx43xu43jN2IFgUVMh.m) (8.7 KB)  
[test1.mod](https://forum.dynare.org/uploads/short-url/1tPrAslPBKGSXk8lE9Z92MFt1fS.mod) (9.5 KB)

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [24 August 2023 08:09 UTC](https://forum.dynare.org/t/eigenvalues-larger-than-1-in-modulus-for-some-forward-looking-variables/12289/10 "2023-08-24T08:09:56Z")

</div>

> [@Seeking help for "There are 12 eigenvalue(s) larger than 1 in modulus for 13 forward-looking variable(s)"](https://forum.dynare.org/t/seeking-help-for-there-are-12-eigenvalue-s-larger-than-1-in-modulus-for-13-forward-looking-variable-s/19775/2):
>
> Often it’s a timing error. I can only give you the generic advice. Try a simplified version of the model.

---

<div class="post-metadata">

**Author:** ![rose](https://forum.dynare.org/letter_avatar_proxy/v4/letter/r/91b2a8/32.png) [@rose](https://forum.dynare.org/u/rose)\
**Post date:** [11 March 2024 07:58 UTC](https://forum.dynare.org/t/eigenvalues-larger-than-1-in-modulus-for-some-forward-looking-variables/12289/11 "2024-03-11T07:58:30Z")

</div>

Dear Jplimagomes,

How did you fixed the problem, I have been facing same challenges for some weeks now. I have worked on the timing, but still having the same issue. I will appreciate if you can work me through. Thank you.

---

<div class="post-metadata">

**Author:** ![eisamabodian](https://forum.dynare.org/user_avatar/forum.dynare.org/eisamabodian/32/12023_2.png) [@eisamabodian](https://forum.dynare.org/u/eisamabodian)\
**Post date:** [12 March 2024 17:38 UTC](https://forum.dynare.org/t/eigenvalues-larger-than-1-in-modulus-for-some-forward-looking-variables/12289/12 "2024-03-12T17:38:23Z")

</div>

When you encounter with Blanchard-Kahn failure in Dynare results in many cases this problem is due to the timming issue for some variables in the model specially predetermined variables such as Capital stock or K or other predetermined variables.This type of variables appear in time t and t-1 in the model. Altough in theoritical papers or some DSGE books or macroeconomic books this type of variables are witten in time t and t+1 for example :

K\_{t+1}=I\_{t}+(1-\delta)K\_{t}

We can write this predetermined variable in the following form:

K\_{t}=I\_{t}+(1-\delta)K\_{t-1}

For stability in the model number of eigenvalues higher than 1 should equal to the purely forward looking variables or jumpers.

Purely forward looking variables or jumpers appear in the model in t and t+1

Therefore timming issue for the variables in the model is vary important.

Dynare can identify predetermined variables with time t and t-1 and mixed variables in time t , t-1 , and t+1 .

---

<div class="post-metadata">

**Author:** ![rose](https://forum.dynare.org/letter_avatar_proxy/v4/letter/r/91b2a8/32.png) [@rose](https://forum.dynare.org/u/rose)\
**Post date:** [21 March 2024 01:36 UTC](https://forum.dynare.org/t/eigenvalues-larger-than-1-in-modulus-for-some-forward-looking-variables/12289/13 "2024-03-21T01:36:43Z")

</div>

Thank you, Professor. I believe there may be an issue with my model. Despite recent modifications, I have been unable to calculate the steady-state values. I would greatly appreciate your assistance with this matter at your earliest convenience. Attached is the code for my model. Thank you.  
[g.mod](https://forum.dynare.org/uploads/short-url/7R8HRYnUVYJW6xeNJ9bqXhmsMH7.mod) (3.3 KB)

---

<div class="post-metadata">

**Author:** ![jpfeifer](https://forum.dynare.org/user_avatar/forum.dynare.org/jpfeifer/32/5044_2.png) [@jpfeifer](https://forum.dynare.org/u/jpfeifer)\
**Post date:** [21 March 2024 08:13 UTC](https://forum.dynare.org/t/eigenvalues-larger-than-1-in-modulus-for-some-forward-looking-variables/12289/14 "2024-03-21T08:13:31Z")

</div>

Check your model. For example, `g` has a steady state of 1, but that is inconsistent with the use of `exp(g)` elsewhere.

---

<div class="post-metadata">

**Author:** ![eisamabodian](https://forum.dynare.org/user_avatar/forum.dynare.org/eisamabodian/32/12023_2.png) [@eisamabodian](https://forum.dynare.org/u/eisamabodian)\
**Post date:** [21 March 2024 08:53 UTC](https://forum.dynare.org/t/eigenvalues-larger-than-1-in-modulus-for-some-forward-looking-variables/12289/15 "2024-03-21T08:53:56Z")

</div>

I run the model in my laptop with Dynare 6.

It seems that in some of the equations you did not complying MATLAB arithmetic operator precedence exactly, for example parentheses, power,multiplication, division and so on. This issue may cause problem when you solve the model in MATLAB.

In addition to the above point , I think that your initial values for some of the variables are not suitable.
