Page 1 of 1

The jacobian matrix evaluated at the steady state is complex

PostPosted: Thu Dec 19, 2013 1:13 am
by LSHui
Dear all,
I am trying to use a DSGE model based on Adolfson 2005 to do forecast. While searching this forum to find answer to my previous problems, I realize I didn't update steady state values which depending on the deep parameters of the model, so I move all _ss equations under model-block with "#", see below:

......
model(linear);

// --------------------------------- Coefficients for equation (10)-------------------
#b_w=(lambda_w*sigma_L-1+lambda_w)/((1-beta*xi_w)*(1-xi_w));
#eta_0=b_w*xi_w;
#eta_1=sigma_L*lambda_w-b_w*(1+beta*xi_w^2);
#eta_2=b_w*beta*xi_w;
#eta_3=-b_w*xi_w;
#eta_4=b_w*beta*xi_w;
#eta_5=b_w*xi_w*kappa_w;
#eta_6=-b_w*beta*xi_w*kappa_w;
#eta_7=1-lambda_w;
#eta_8=-(1-lambda_w)*sigma_L;
#eta_9=-(1-lambda_w)*(tau_y_ss/(1-tau_y_ss));
#eta_10=-(1-lambda_w)*(tau_w_ss/(1+tau_w_ss));
#eta_11=-1+lambda_w;

// ------------------------------------ STEADY STATE BLOCK------------------------------------------------

#gamma_i_d_ss=((1-omega_i+omega_i*(lambda_m_i_ss^(1-eta_i)))^(1/(1-eta_i))); // Equation (SS6)
#gamma_c_d_ss=((1-omega_c+omega_c*lambda_m_c_ss^(1-eta_c))^(1/(1-eta_c))); // Equation (SS6-a)
#gamma_c_mc_ss=((omega_c+(1-omega_c)*(1/lambda_m_c_ss)^(1-eta_c))^(1/(1-eta_c))); // Equation (SS6-b)
#gamma_i_mi_ss=((omega_i+(1-omega_i)*(1/lambda_m_i_ss)^(1-eta_i))^(1/(1-eta_i))); // Equation (SS6-c)


#pi_ss=(mu_ss/mu_z_ss); // Equation (SS1')
#R_ss=(pi_ss*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta); // Equation (SS1)
#R_f_ss=nu_ss*R_ss+1-nu_ss; // Equation (SS2) // Equation (SS2)
#r_k_ss=((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta); // Equation (SS5)
#w_bar_ss=(1-alpha)*lambda_d_ss^(-1/(1-alpha))*alpha^(alpha/(1-alpha))*r_k_ss^(-alpha/(1-alpha))*R_f_ss^(-1);
#H_over_k_ss=alpha/(1-alpha)*mu_z_ss*w_bar_ss*R_f_ss*r_k_ss^(-1);

#D1=(((1-omega_c)*gamma_c_d_ss^eta_c)+(omega_c*gamma_c_mc_ss^eta_c));
#D2=(1-g_r)/lambda_d_ss*mu_z_ss^(-alpha)*H_over_k_ss^alpha-((1-omega_i)*gamma_i_d_ss^eta_i+omega_i*gamma_i_mi_ss^eta_i)*(1-(1-delta)/mu_z_ss)*H_over_k_ss;
#D3=(((1-tau_y_ss)/lambda_w*w_bar_ss/(1+tau_w_ss))/A_L)^(1/sigma_L);
#D4=((mu_z_ss-beta*b)/((1+tau_c_ss)*(mu_z_ss-b)))*gamma_c_d_ss^(-1);

#H_ss=(D3*D4^(1/sigma_L)*(D2/D1)^(-1/sigma_L))^(sigma_L/(1+sigma_L));
#c_ss=D2/D1*H_ss;
#psi_z_ss=1/c_ss*D4;
#phi_ss=((lambda_d_ss-1)*(mu_z_ss^(-alpha))*((((1-alpha)*(((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta)))/(alpha*mu_z_ss*(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))*((1/alpha)^alpha)*((((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta)))*((nu_ss*(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta))+1-nu_ss))))^(-alpha))*(((((((1-tau_y_ss)*(1/lambda_w)*((((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))*((1/alpha)^alpha)*((((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta)))/(1+tau_w_ss))/A_L)^(1/sigma_L)))*(((((mu_z_ss-beta*b)/((1+tau_c_ss)*(mu_z_ss-b)))/gamma_c_d_ss))^(1/sigma_L))*(((((((1-g_r)/lambda_d_ss)*(mu_z_ss^(-alpha))*((((1-alpha)*(((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta)))/(alpha*mu_z_ss*(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))*((1/alpha)^alpha)*((((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta)))*((nu_ss*(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta))+1-nu_ss))))^(-alpha)))-(((1-omega_i)*(gamma_i_d_ss^eta_i))+(omega_i*gamma_i_mi_ss^eta_i))*(1-((1-delta)/mu_z_ss))*(1/(((1-alpha)*(((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta)))/(alpha*mu_z_ss*(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))*((1/alpha)^alpha)*((((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta)))*((nu_ss*(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta))+1-nu_ss)))))))/((((1-omega_c)*gamma_c_d_ss^eta_c)+(omega_c*gamma_c_mc_ss^eta_c))))^(-1/sigma_L)))^(sigma_L/(1+sigma_L)))))/lambda_d_ss; // Equation (SS10)
#k_ss=H_over_k_ss*H_ss;
#y_ss=1/lambda_d_ss*(mu_z_ss)^(-alpha)*(H_over_k_ss)^alpha*H_ss;
#g_ss=g_r*y_ss;
#q_ss=(A_q/((1-tau_k_ss)*psi_z_ss*(R_ss-1)))^(1/sigma_q);
#i_ss=(1-(1-delta)/mu_z_ss)*k_ss;
#x_tilda_ss=(omega_c*(gamma_c_mc_ss^eta_c)*((((((((1-g_r)/lambda_d_ss)*(mu_z_ss^(-alpha))*((((1-alpha)*(((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta)))/(alpha*mu_z_ss*(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))*((1/alpha)^alpha)*((((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta)))*((nu_ss*(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta))+1-nu_ss))))^(-alpha)))-(((1-omega_i)*(gamma_i_d_ss^eta_i))+(omega_i*gamma_i_mi_ss^eta_i))*(1-((1-delta)/mu_z_ss))*(1/(((1-alpha)*(((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta)))/(alpha*mu_z_ss*(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))*((1/alpha)^alpha)*((((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta)))*((nu_ss*(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta))+1-nu_ss)))))))*(((((((1-tau_y_ss)*(1/lambda_w)*((((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))*((1/alpha)^alpha)*((((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta)))/(1+tau_w_ss))/A_L)^(1/sigma_L)))*(((((mu_z_ss-beta*b)/((1+tau_c_ss)*(mu_z_ss-b)))/gamma_c_d_ss))^(1/sigma_L))*(((((((1-g_r)/lambda_d_ss)*(mu_z_ss^(-alpha))*((((1-alpha)*(((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta)))/(alpha*mu_z_ss*(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))*((1/alpha)^alpha)*((((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta)))*((nu_ss*(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta))+1-nu_ss))))^(-alpha)))-(((1-omega_i)*(gamma_i_d_ss^eta_i))+(omega_i*gamma_i_mi_ss^eta_i))*(1-((1-delta)/mu_z_ss))*(1/(((1-alpha)*(((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta)))/(alpha*mu_z_ss*(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))*((1/alpha)^alpha)*((((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta)))*((nu_ss*(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta))+1-nu_ss)))))))/((((1-omega_c)*gamma_c_d_ss^eta_c)+(omega_c*gamma_c_mc_ss^eta_c))))^(-1/sigma_L)))^(sigma_L/(1+sigma_L)))))/((((1-omega_c)*gamma_c_d_ss^eta_c)+(omega_c*gamma_c_mc_ss^eta_c)))))+omega_i*(gamma_i_mi_ss^eta_i)*(((1-((1-delta)/mu_z_ss))*((1/(((1-alpha)*(((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta)))/(alpha*mu_z_ss*(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))*((1/alpha)^alpha)*((((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta)))*((nu_ss*(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta))+1-nu_ss)))))*(((((((1-tau_y_ss)*(1/lambda_w)*((((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))*((1/alpha)^alpha)*((((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta)))/(1+tau_w_ss))/A_L)^(1/sigma_L)))*(((((mu_z_ss-beta*b)/((1+tau_c_ss)*(mu_z_ss-b)))/gamma_c_d_ss))^(1/sigma_L))*(((((((1-g_r)/lambda_d_ss)*(mu_z_ss^(-alpha))*((((1-alpha)*(((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta)))/(alpha*mu_z_ss*(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))*((1/alpha)^alpha)*((((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta)))*((nu_ss*(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta))+1-nu_ss))))^(-alpha)))-(((1-omega_i)*(gamma_i_d_ss^eta_i))+(omega_i*gamma_i_mi_ss^eta_i))*(1-((1-delta)/mu_z_ss))*(1/(((1-alpha)*(((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta)))/(alpha*mu_z_ss*(((1/(lambda_d_ss*((1/(1-alpha))^(1-alpha))*((1/alpha)^alpha)*((((mu_z_ss*gamma_i_d_ss-beta*(1-delta)*gamma_i_d_ss))/((1-tau_k_ss)*beta))^alpha)))^(1/(1-alpha)))/(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta)))*((nu_ss*(((mu_ss/mu_z_ss)*mu_z_ss-tau_k_ss*beta)/((1-tau_k_ss)*beta))+1-nu_ss)))))))/((((1-omega_c)*gamma_c_d_ss^eta_c)+(omega_c*gamma_c_mc_ss^eta_c))))^(-1/sigma_L)))^(sigma_L/(1+sigma_L)))))))); // Equation (SS15)
#m_bar_ss=nu_ss*w_bar_ss*H_ss+q_ss;
#c_m_ss= omega_c*gamma_c_mc_ss^eta_c*c_ss;
#i_m_ss=omega_i*gamma_i_mi_ss^eta_i*i_ss;
#y_STAR_ss=omega_c*gamma_c_mc_ss^eta_c*c+omega_i*gamma_i_mi_ss^eta_i*i_ss;


//1/--------------- Phillips Curve
pi-pi_bar_c=(beta/(1+kappa_d*beta))*(pi(+1)-rho_pi_bar_c*pi_bar_c)+(kappa_d/(1+kappa_d*beta))*(pi(-1)-pi_bar_c)
-((kappa_d*beta*(1-rho_pi_bar_c))/(1+kappa_d*beta))*pi_bar_c+(((1-xi_d)*(1-beta*xi_d))/(xi_d*(1+kappa_d*beta)))*(mc+lambda_d);

//2/--------------- Real marginal cost of the intermediate firms
mc=alpha*r_k+(1-alpha)*(w_bar+R_f)-epsilon;

//3/--------------- Real rental rate of capital
r_k=mu_z+w_bar+R_f+H-k;

//4/--------------- Gross effective nominal rate of interest paid by firms
//# denomRf=nu_ss*R_ss+1-nu_ss;
R_f=(nu_ss*R_ss*R(-1))/(nu_ss*R_ss+1-nu_ss);

//5/--------------- Phillips curve for the imported consumption goods
(pi_m_c-pi_bar_c)*(1+kappa_m_c*beta)=beta*(pi_m_c(+1)-rho_pi_bar_c*pi_bar_c)+kappa_m_c*(pi_m_c(-1)-pi_bar_c)-kappa_m_c*beta*(1-rho_pi_bar_c)*pi_bar_c+((1-xi_m_c)*(1-beta*xi_m_c)*(mc_m_c+lambda_m_c)/xi_m_c);

//6/--------------- Phillips curve for the imported investment goods
(pi_m_i-pi_bar_c)*(1+kappa_m_i*beta)=beta*(pi_m_i(+1)-rho_pi_bar_c*pi_bar_c)+kappa_m_i*(pi_m_i(-1)-pi_bar_c)-kappa_m_i*beta*(1-rho_pi_bar_c)*pi_bar_c+((1-xi_m_i)*(1-beta*xi_m_i)*(mc_m_i+lambda_m_i)/xi_m_i);

//7/--------------- Marginal cost for firms importing consumption goods
mc_m_c=-mc_x-gamma_x_STAR-gamma_mc_d;

//8/--------------- Marginal cost for firms importing investment goods
mc_m_i=-mc_x-gamma_x_STAR-gamma_mi_d;

.......

But the error message as following:

Error using print_info (line 48)
The jacobian matrix evaluated at the steady state is complex

Error in check (line 51)
print_info(info, options_.noprint);

Error in BARRIE_estim_13Q2v4 (line 1132)
check;

Error in dynare (line 132)
evalin('base',fname) ;

According to the error message, I found the problem is info(1), which is "the model doesn't determine the current variables '...' uniquely"
I was trying to figure the problem through previous related topics in this forum, unfortunately, I am still stuck. I noticed a future version of dynare can identify problem more clearly, if it is possible, can any dynare experts help me identify it? Any help or suggestions will be much appreciated!

Helen