diff --git a/matlab/getH.m b/matlab/getH.m index f4069b04ae80b53da35c40460b5c7ecee6ed18b9..17ed4ba449794aa2164de20375642a31703f3695 100644 --- a/matlab/getH.m +++ b/matlab/getH.m @@ -388,21 +388,12 @@ if kronflag==1, % kronecker products H = -DfDtau\DfDthet; x = reshape(H(1:m*m,:),m,m,param_nbr); y = reshape(Dm*H(m*m+1:end,:),m,m,param_nbr); - if nauxe, - x = x(nauxe+1:end,nauxe+1:end,:); - y = y(nauxe+1:end,nauxe+1:end,:); - dA = x; - dOm = y; - m = size(y,1); - x = reshape(x,m*m,param_nbr); - Dm = duplication(m); - DmPl = inv(Dm'*Dm)*Dm'; - y = DmPl*reshape(y,m*m,param_nbr); - H = [x;y]; - else - dA = x; - dOm = y; - end + dA = x; + dOm = y; + % convert to dyn_vech + tmpH = Dm*H(m*m+1:end,:); + Index = find(triu(ones(m))); + H(m*m+1:end,:) = tmpH(Index,:); Hx = []; if ~isempty(indexo),