From b756ee1819cad27e0151e76dc6f3929baf05ed18 Mon Sep 17 00:00:00 2001 From: Marco Ratto <marco.ratto@jrc.ec.europa.eu> Date: Fri, 14 Sep 2012 17:07:38 +0200 Subject: [PATCH] Analytic derivatives: make them work for lik_init==2 as well (lik_init =3 and =4 still to be worked out) --- matlab/dsge_likelihood.m | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/matlab/dsge_likelihood.m b/matlab/dsge_likelihood.m index c6ab3ccd90..256e04dba4 100644 --- a/matlab/dsge_likelihood.m +++ b/matlab/dsge_likelihood.m @@ -523,6 +523,7 @@ if analytic_derivation, D2P=sparse(size(D2Om,1),size(D2Om,2)); %zeros([size(T),length(xparam1),length(xparam1)]); jcount=0; end + if DynareOptions.lik_init==1, for i=1:EstimatedParameters.nvx k =EstimatedParameters.var_exo(i,1); DQ(k,k,i) = 2*sqrt(Q(k,k)); @@ -541,6 +542,7 @@ if analytic_derivation, end end end + end offset = EstimatedParameters.nvx; for i=1:EstimatedParameters.nvn k = EstimatedParameters.var_endo(i,1); @@ -550,6 +552,7 @@ if analytic_derivation, end end offset = offset + EstimatedParameters.nvn; + if DynareOptions.lik_init==1, for j=1:EstimatedParameters.np dum = lyapunov_symm(T,DT(:,:,j+offset)*Pstar*T'+T*Pstar*DT(:,:,j+offset)'+DOm(:,:,j+offset),DynareOptions.qz_criterium,DynareOptions.lyapunov_complex_threshold); % kk = find(abs(dum) < 1e-12); @@ -572,6 +575,7 @@ if analytic_derivation, end end end + end if analytic_derivation==1, analytic_deriv_info={analytic_derivation,DT,DYss,DOm,DH,DP,asy_Hess}; else -- GitLab