function Z = SubSysZero(G,outp,inp,tol)
   if nargin < 3
      inp = ':';
   end
   if nargin < 2
      outp = ':';
   end
   if nargin < 1
     disp('Usage: SubSysZero(sys,outp, inp)')
     return
   end
    
   [mt, rd, cd, n] = minfo( G );
   if strcmp( mt, 'syst' ) == 0
     disp('Usage: SubSysZero(sys,outp, inp)')
     return      
   end

   Gs = sel(G,outp,inp);
   [A,B,C,D] = unpck(Gs);
   if nargin < 4
      tol = 10*max(size(A))*norm(A,1)*eps;
   end
   [Am,Bm,Cm,Dm] = minreal(A,B,C,D,tol);
   Gm = pck(Am,Bm,Cm,Dm);
   Z = szeros(Gm);
end
