code: def getIndexSets(alpha, a, b, y):
      """See Kerthi and Gilbert, and MathSVM.m"""
      # it is either one loop, or five smart ops.
      # will do former so it can be translated into C
      I0, I1, I2, I3, I4 = [], [], [], [], []
      for i, ali, ai, bi, yi in zip(range(y.size), alpha, a, b, y):
          if ali > ai and ali < bi:
              I0.append(i)
          elif ali == ai:
              if yi > 0:
                  I1.append(i)
              else:
                  I4.append(i)
          else:
              if yi < 0:
                  I2.append(i)
              else:
                  I3.append(i)
      return I0, I1, I2, I3, I4
  
file_path: mystic/_examples/test_smo1.py
imports: from numpy import *
  import matplotlib.pyplot
  from mystic.svc import *
  from mystic.symbolic import linear_symbolic, solve, generate_solvers, generate_constraint
  from mystic import suppressed
  from mystic.solvers import diffev
label_desc: Use image node_id 3 for calling a global function with example usage: getIndexSets(alpha, a, b, y) and returns: I0,  I1,  I2,  I3,  I4