Commit b9741548 authored by Marco Ratto's avatar Marco Ratto Committed by Stéphane Adjemian (Charybdis)

As we do for the smoother, check the rank of Pinf only for the observables (i.e. using Z*Pinf*Z')

parent cf8213f7
......@@ -65,7 +65,7 @@ dLIK = Inf; % Default value of the log likelihood.
oldK = Inf;
s = 0;
while rank(Pinf,diffuse_kalman_tol) && (t<=last)
while rank(Z*Pinf*Z',diffuse_kalman_tol) && (t<=last)
s = t-start+1;
v = Y(:,t)-Z*a; %get prediction error v^(0) in (5.13) DK (2012)
Finf = Z*Pinf*Z'; % (5.7) in DK (2012)
......
......@@ -154,7 +154,7 @@ while newRank && (t<=last)
end
end
if newRank
oldRank = rank(Pinf,diffuse_kalman_tol);
oldRank = rank(Z*Pinf*Z',diffuse_kalman_tol);
else
oldRank = 0;
end
......@@ -162,7 +162,7 @@ while newRank && (t<=last)
Pstar = T*Pstar*T'+QQ;
Pinf = T*Pinf*T';
if newRank
newRank = rank(Pinf,diffuse_kalman_tol);
newRank = rank(Z*Pinf*Z',diffuse_kalman_tol);
end
if oldRank ~= newRank
disp('univariate_diffuse_kalman_filter:: T does influence the rank of Pinf!')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment