Asked for help, my steady state doesn't work

It shows that:

dynare fiscal1.mod
Starting Dynare (version 5.0).
Calling Dynare with arguments: none
Starting preprocessing of the model file ...
Found 38 equation(s).
Evaluating expressions...done
Computing static model derivatives (order 1).
Computing dynamic model derivatives (order 2).
Processing outputs ...
done
Preprocessing completed.

> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 
> In trust_region>dogleg (line 193)
  In trust_region (line 108)
  In dynare_solve (line 313)
  In evaluate_steady_state (line 265)
  In steady_ (line 55)
  In steady (line 80)
  In fiscal1.driver (line 513)
  In dynare (line 281) 
警告: 矩阵为奇异工作精度。 




Residuals of the static equations:

Equation number 1 : 0 : 1
Equation number 2 : -0.00024601 : Y_T
Equation number 3 : 0.00081197 : W
Equation number 4 : 0.00018589 : R_T
Equation number 5 : 0.00013436 : Y_N
Equation number 6 : 4.7619e-05 : 6
Equation number 7 : 0.0003083 : R_N
Equation number 8 : 0 : 8
Equation number 9 : 0 : 9
Equation number 10 : -0.000265 : K_P
Equation number 11 : -0.00018798 : 11
Equation number 12 : 0.0001872 : L
Equation number 13 : 0.000211 : 13
Equation number 14 : -0.00016076 : C
Equation number 15 : -0.00025 : C_N
Equation number 16 : 0.00025 : C_T
Equation number 17 : 0 : T_O
Equation number 18 : 0.000294 : T_NO
Equation number 19 : 0 : T
Equation number 20 : 8e-05 : C_G
Equation number 21 : -8e-05 : I_G
Equation number 22 : 0 : G
Equation number 23 : 8e-05 : I_GN
Equation number 24 : -8e-05 : I_GT
Equation number 25 : 0 : 25
Equation number 26 : 1.5e-05 : K_G
Equation number 27 : 0.00018391 : phi
Equation number 28 : 0 : D_G
Equation number 29 : 0 : OPB
Equation number 30 : -0.00019 : R_W
Equation number 31 : 0.00037908 : PR
Equation number 32 : 0 : 32
Equation number 33 : 0 : 33
Equation number 34 : -0.00070089 : 34
Equation number 35 : 4.7847e-07 : R_K
Equation number 36 : 0 : F
Equation number 37 : -0.000492 : 37
Equation number 38 : -3.6044e-07 : D


错误使用 print_info (line 32)
Impossible to find the steady state (the sum of square residuals of the static equations is 0.0000). Either the model doesn't have
a steady state, there are an infinity of steady states, or the guess values are too far from the solution
出错 steady (line 102)
    print_info(info,options_.noprint, options_);
出错 fiscal1.driver (line 513)
steady;
出错 dynare (line 281)
    evalin('base',[fname '.driver']); 

fiscal1.mod (2.7 KB)

Hi, model_diagnostics(M_,options_,oo_) says “MODEL_DIAGNOSTICS: The steady state cannot be computed”.

using resid(1) explains that your steady-state guesses are wrong for almost all your equations.

I would advise you to solve the steady-state of your model analytically.

I hope someday some smart guy builds a software that you just input model equilibrium equations and it outputs steady-state…:slight_smile: . I apologize for saying something not useful to solving the problem in this thread.

1 Like

Hi, actually,i have used GAMS software to find steady state, but it seems that result can not work. maybe not accurate enough.

As I said if you want help, please provide an analytical steady-state, otherwise it is very hard to help you.

Hi, thanks for your advise. I will send my steady state process and results.
newdsge_steady_state.zip (1.3 KB)
It should be run by GAMS software.
稳态值3.6.zip (9.9 KB)

Yes, it mostly seems to be a matter of tolerance. You could lower the tolerance with

steady(tolf=1e-3);

Then you will see that there is a singularity. Check your timing and setup. model_diagnostics will provide information on the equations involved.

Hi, thanks a lot! it might be useful, but there is another question.it shows:
dynare fiscal1.mod
Starting Dynare (version 5.0).
Calling Dynare with arguments: none
Starting preprocessing of the model file …
Found 36 equation(s).
Evaluating expressions…done
Computing static model derivatives (order 1).
Computing dynamic model derivatives (order 2).
Processing outputs …
done
Preprocessing completed.

STEADY-STATE RESULTS:

Y_T 0.839
Y_N 1.159
P_O 1
Y_O 1
L_T 0.351
K_T 6.477
K_G 0.177
W 1.435
R_T 0.052
L_N 0.525
K_N 11.693
R_N 0.035
K_P 7.883
I_P 0.355
C 1.975
L 0.876
D_P -0.052
R_W 0.029
C_N 1.086
C_T 0.889
T 0.08
T_O 0.41
T_NO 0.294
T_L -0.624
G 0.08
I_G 0.012
C_G 0.068
I_GN 0.005
I_GT 0.007
phi 0.515
D_G 3.60443e-07
OPB 1.03831e-08
PR 0.019
Y 2.998
R_K 0.087
D -0.052
错误使用 print_info (line 32)
The generalized Schur (QZ) decomposition failed. For more information, see the documentation for Lapack function dgges: info=30,
n=10. You can also run model_diagnostics to get more information on what may cause this problem.
出错 check (line 48)
print_info(info, 0, options);
出错 fiscal1.driver (line 501)
oo_.dr.eigval = check(M_,options_,oo_);
出错 dynare (line 281)
evalin(‘base’,[fname ‘.driver’]);
fiscal1.mod (2.6 KB)
Then I run model_diagnostics(M_,options_,oo_):
MODEL_DIAGNOSTICS: The Jacobian of the static model is singular
MODEL_DIAGNOSTICS: there is 2 colinear relationships between the variables and the equations
Relation 1
Colinear variables:
Y_T
Y_N
L_T
K_T
K_G
W
R_T
L_N
K_N
R_N
K_P
I_P
L
D_P
T
T_NO
T_L
G
I_G
C_G
I_GN
I_GT
phi
D_G
OPB
Y
D
Relation 2
Colinear variables:
T
T_L
OPB
Relation 1
Colinear equations
20 21 22 23 24 25
Relation 2
Colinear equations
20 21 22 23 24 25
MODEL_DIAGNOSTICS: The presence of a singularity problem typically indicates that there is one
MODEL_DIAGNOSTICS: redundant equation entered in the model block, while another non-redundant equation
MODEL_DIAGNOSTICS: is missing. The problem often derives from Walras Law.

As I wrote above

I have checked my timing. But there’s still the same question
spending.mod (3.2 KB)
: Starting Dynare (version 5.0).
Calling Dynare with arguments: none
Starting preprocessing of the model file …
Found 35 equation(s).
Evaluating expressions…done
Computing static model derivatives (order 1).
Computing dynamic model derivatives (order 2).
Processing outputs …
done
Preprocessing completed.

STEADY-STATE RESULTS:

Y_T 0.839
Y_N 1.159
P_O 1
Y_O 1
L_T 0.351
K_T 6.477
K_G 0.177
W 1.435
R_T 0.052
L_N 0.525
K_N 11.693
R_N 0.035
K_P 7.883
I_P 0.355
C 1.975
L 0.876
D_P -0.052
R_W 0.029
C_N 1.086
C_T 0.889
T_O 0.41
T_NO 0.294
T_L -0.624
G 0.08
I_G 0.012
C_G 0.068
I_GN 0.005
I_GT 0.007
phi 0.515
D_G 3.60443e-07
OPB 1.03831e-08
PR 0.019
Y 2.998
R_K 0.087
D -0.052
错误使用 print_info (line 32)
The generalized Schur (QZ) decomposition failed. For more information, see the documentation for Lapack function dgges: info=30,
n=10. You can also run model_diagnostics to get more information on what may cause this problem.
出错 check (line 48)
print_info(info, 0, options);
出错 fiscal1.driver (line 494)
oo_.dr.eigval = check(M_,options_,oo_);
出错 dynare (line 281)
evalin(‘base’,[fname ‘.driver’]);

There must be a mistake somewhere. I can only give you the generic advice: try to simplify the model to see where the error comes from.