code: def qzordered(A,B,crit=1.0):
      "Eigenvalues bigger than crit are sorted in the top-left."
  
      TOL = 1e-10
  
      def select(alpha, beta):
          return alpha**2>crit*beta**2
  
      [S,T,alpha,beta,U,V] = ordqz(A,B,output='real',sort=select)
  
      eigval = abs(numpy.diag(S)/numpy.diag(T))
  
      return [S,T,U,V,eigvalf qzordered(A,B,crit=1.0):
      "Eigenvalues bigger than crit are sorted in the top-left."
  
      TOL = 1e-10
  
      def select(alpha, beta):
          return alpha**2>crit*beta**2
  
      [S,T,alpha,beta,U,V] = ordqz(A,B,output='real',sort=select)
  
      eigval = abs(numpy.diag(S)/numpy.diag(T))
  
      return [S,T,U,V,eigval]
docs: Eigenvalues bigger than crit are sorted in the top-left.