function H_i=hermite(i)
  persistent Hcache={[1],[2,0]};
  ind=i;
  if (ind > size(Hcache))
    Hcache{ind}=[];
  endif
  if (isempty(Hcache{ind}))
    H_i=conv([2,0],hermite(i-1))-conv([0,0,2*(i-2)],hermite(i-2));
    Hcache{ind}=H_i;
  else
    H_i=Hcache{ind};
  endif
end

