function rad = Exclude(a,R,N,L,G,Y,Z,mu)
%Exclude

% -------- obtaining an upper bound of rho ---------
%  X = Y'*(G\Y);            % generate verified Y^T*G^{-1}*Y
%  rho_ap = norm(mid(X));   % compute an approximate matrix norm of X
%  rho = Matrix_Norm(X,rho_ap,L);
% disp(['rho= ' num2str(sup(rho))''])


% -------- obtaining an upper bound of rho_hat -----
  X = Y'*(G\Z);            % generate verified Y^T*G^{-1}*Z
  rho_ap = norm(mid(X));   % compute an approximate matrix norm of X
  rho_h = Matrix_Norm(X,rho_ap,L);
% disp(['rho_hat= ' num2str(sup(rho_h))''])

 Pi = 4*atan(intval('1'));  
  h = intval('2')/intval(N);
 t5 = intval('6')*sqrt(intval('70'))/sqrt(intval('4')+sqrt(intval('5')));
  C = sqrt(intval('3'))/t5*h^2*( 1 + a^2/t5*h^2);
 t4 = intval('1')/(Pi^2/4 + a^2);
 t3 = 2*a*R;
 t2 = sqrt(real(mu)^2 + max(sup(imag(mu)^2),sup((imag(mu)-a*R)^2)));
 t1 = 2*t3*t4 + t2 + 2*R;

% -------- checking the criterion for invertibility -----
%  kappa = C*( rho*t1*C*(t2+t3*t4) + t2 + C*t3 );
%  disp(['kappa= ' num2str(sup(kappa))''])
%   if sup(kappa) > 1
%     error('The invertibility did not assure.')
%   end
%
% -------- computing excluding radii I -----
%  u = C*(t2+t3*t4)*rho;
%  M = [ rho*(1+u*t1*C/(1-kappa))  rho*t1*C/(1-kappa);
%        u/(1-kappa)               intval('1')/(1-kappa)];
%  m_ap = norm(mid(M));    % compute an approximate matrix norm of M
%  m = Matrix_Norm(M,m_ap,2);
%  disp(['M= ' num2str(sup(m))''])
%
%  rad = inf(intval('1')/(t4*m));
% disp(['exclude radius I  = ' num2str(rad)''])


% -------- computing excluding radii II -----
  kappa_h = C*(t2+C*t3)*(1+rho_h*(t2+t3*t4));
%   disp(['kappa_hat= ' num2str(sup(kappa_h))''])
   if sup(kappa_h) > 1
     error('kappa hat is greater than 1.')
   end

  m_h = sqrt( intval(rho_h)^2 + C^2*(1+(t2+t3*t4)*rho_h)^2 )/(1-kappa_h);
% disp(['M_hat= ' num2str(sup(m_h))''])

  rad = inf(intval('1')/m_h);
% disp(['exclude radius II = ' num2str(rad)''])

