Bug fix + Cosmetic change. Do not compute the likelihood if the steady
state is complex. git-svn-id: https://www.dynare.org/svn/dynare/trunk@2554 ac1d8469-bf42-47a9-8791-bf33cf982152time-shift
parent
22452f016e
commit
c42f33ff47
|
@ -127,26 +127,26 @@ function [fval,cost_flag,ys,trend_coeff,info] = DsgeLikelihood(xparam1,gend,data
|
||||||
[T,R,SteadyState,info] = dynare_resolve(bayestopt_.restrict_var_list,...
|
[T,R,SteadyState,info] = dynare_resolve(bayestopt_.restrict_var_list,...
|
||||||
bayestopt_.restrict_columns,...
|
bayestopt_.restrict_columns,...
|
||||||
bayestopt_.restrict_aux);
|
bayestopt_.restrict_aux);
|
||||||
if info(1) == 1 | info(1) == 2 | info(1) == 5
|
if info(1) == 1 || info(1) == 2 || info(1) == 5
|
||||||
fval = bayestopt_.penalty+1;
|
fval = bayestopt_.penalty+1;
|
||||||
cost_flag = 0;
|
cost_flag = 0;
|
||||||
return
|
return
|
||||||
elseif info(1) == 3 | info(1) == 4 | info(1) == 20
|
elseif info(1) == 3 || info(1) == 4 || info(1) == 20 || info(1) == 21
|
||||||
fval = bayestopt_.penalty+info(2);%^2; % penalty power raised in DR1.m and resol already. GP July'08
|
fval = bayestopt_.penalty+info(2);%^2; % penalty power raised in DR1.m and resol already. GP July'08
|
||||||
cost_flag = 0;
|
cost_flag = 0;
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
bayestopt_.mf = bayestopt_.mf1;
|
bayestopt_.mf = bayestopt_.mf1;
|
||||||
if ~options_.noconstant
|
if options_.noconstant
|
||||||
if options_.loglinear == 1
|
constant = zeros(nobs,1);
|
||||||
|
else
|
||||||
|
if options_.loglinear
|
||||||
constant = log(SteadyState(bayestopt_.mfys));
|
constant = log(SteadyState(bayestopt_.mfys));
|
||||||
else
|
else
|
||||||
constant = SteadyState(bayestopt_.mfys);
|
constant = SteadyState(bayestopt_.mfys);
|
||||||
end
|
end
|
||||||
else
|
|
||||||
constant = zeros(nobs,1);
|
|
||||||
end
|
end
|
||||||
if bayestopt_.with_trend == 1
|
if bayestopt_.with_trend
|
||||||
trend_coeff = zeros(nobs,1);
|
trend_coeff = zeros(nobs,1);
|
||||||
t = options_.trend_coeffs;
|
t = options_.trend_coeffs;
|
||||||
for i=1:length(t)
|
for i=1:length(t)
|
||||||
|
|
|
@ -106,6 +106,7 @@ if ~isreal(dr.ys)
|
||||||
info(1) = 21;
|
info(1) = 21;
|
||||||
info(2) = sum(imag(ys).^2);
|
info(2) = sum(imag(ys).^2);
|
||||||
dr.ys = real(dr.ys);
|
dr.ys = real(dr.ys);
|
||||||
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
dr.fbias = zeros(M_.endo_nbr,1);
|
dr.fbias = zeros(M_.endo_nbr,1);
|
||||||
|
|
Loading…
Reference in New Issue