Exemplo n.º 1
0
 def _get_i(mon):
     """$R_{ij}<R_{kl}$ if (j-i, i)<(l-k,k)"""
     for i in range(len(mon)):
         if DualSteenrodDense.is_gen_E0(mon[i]):
             if i > 0 and (len(mon[i]), mon[i][-1]) < (len(
                     mon[i - 1]), mon[i - 1][-1]):
                 return i - 1
         else:
             if i > 0 and all(
                 (g + 1, 1 << s) < (len(mon[i - 1]), mon[i - 1][-1])
                     for g, e in enumerate(mon[i]) if e > 0
                     for s in two_expansion(e)):
                 return i - 1
             else:
                 break
     return None
Exemplo n.º 2
0
 def key_mon(mon):
     return [(DualSteenrodDense.is_gen_E0(m), len(m), m[-1]) for m in mon]