def gamma_B3(): # first glue b-piece to the switch-piece, using the sign formula for switches step_1 = signs.switch_mod2(wsb_dim - 1, wsb_dim, wsb_dim) #print(step_1) #then glue this to the first end-piece at the Y_0-vertex. step_2 = signs.Y0_mod2(0, 0, 0, 0, 0, 1, n, n, n, 1, wsb_dim - 1, wsb_dim - 1, wsb_dim - 1, b + 1) #print(step_2) #then glue this to the secont end-piece at the Y_1-vertex. step_3 = signs.Y1_mod2(1, 1, 0, 0, 1, 1, n, n, n, 1, k_dim, wsb_dim - 1, wsb_dim, b + 2) #print(step_3) # and finally glue the positive a-piece to the thing step_4 = signs.pos_1val_mod2(0, n, wua_dim, a, 2, 2, k_dim) #print(step_4) tot = (step_1 + step_2 + step_3 + step_4).subs([(b, a), (wsb_dim, n + 1 + wua_dim), (n**2, n)]) if tot.is_constant(): return tot % 2 else: return trunc(tot, 2)
def tree_III(): step_1 = signs.Y1_mod2(0, 0, 0, 0, 0, 1, n, n, n, 1, n - wua_dim, n - wua_dim - 1, n - wua_dim - 1, b) step_2 = signs.pos_1val_mod2(0, n, wua_dim, a, 1, 1, n - wua_dim) res = (step_1 + step_2).subs(n**2, n) if res.is_constant(): return res % 2 else: return trunc(res, 2)
def case_I2_pert1a(): #first two gluings are the same as in the unperturbed case step_1 = signs.Y0_mod2(0, 0, 0, 0, 0, 0, n, wsb2, wsb2, b2, wsb2 + wsb1 + n, wsb1, wsb1, b1) #print('step 1 \n', step_1, '\n') step_2 = signs.Y0_mod2(1, 1, 0, 0, 0, 0, n, wsb3, wsb3, b3, k_dim, wsb1 + wsb2 + n, wsb1 + wsb2 + n + 1, b1 + b2) step_3 = signs.Y1_mod2(0, 0, 2, 2, 1, 0, n, n + wua + 1, k_dim, a, k1_dim, n, n, 1) #print('step 2 \n', step_2, '\n') finish = signs.pos_1val_mod2(0, n, wua, a, 1, 3, k1_dim) #print('finish \n', finish, '\n') return trunc(step_1 + step_2 + step_3 + finish, 2)
def case_I2_pert1b(): #first two gluings are the same as in the unperturbed case step_1 = signs.Y0_mod2(0, 0, 0, 0, 0, 0, n, wsb2, wsb2, b2, wsb2 + wsb1 + n, wsb1, wsb1, b1) #print('step 1 \n', step_1, '\n') step_2 = signs.Y0_mod2(1, 1, 0, 0, 0, 0, n, wsb3, wsb3, b3, k_dim, wsb1 + wsb2 + n, wsb1 + wsb2 + n + 1, b1 + b2) #this is the new gluing step_3 = signs.Y1_mod2(2, 2, 0, 0, 0, 1, n, n, n, 1, k1_dim, k_dim, n + wua + 1, a) finish = signs.pos_1val_mod2(0, n, wua, a, 3, 3, k1_dim) #print('finish \n', finish, '\n') #res=(step_1 + step_2 + finish).subs([(a,b1+b2+b3), (wua,3*n+1+wsb1+wsb2+wsb3),(n**2,2)]) return trunc(step_1 + step_2 + step_3 + finish, 2)
def case_I1_pert1a(): #first and second step is similar to the unperturbed tree step_1 = signs.Y0_mod2(0, 0, 0, 0, 0, 0, n, wsb3, wsb3, b3, wsb3 + wsb2 + n, wsb2, wsb2, b2) #print('step 1 \n', step_1, '\n') step_2 = signs.Y0_mod2(0, 0, 1, 1, 0, 0, n, wsb3 + wsb2 + n + 1, wsb3 + wsb2 + n, b2 + b3, k_dim, wsb1, wsb1, b1) #print('step 2 \n', step_2, '\n') #this is the new gluing step_3 = signs.Y1_mod2(0, 0, 1, 2, 1, 0, n, n + wua + 1, k_dim, a, k1_dim, n, n, 1) finish = signs.pos_1val_mod2(0, n, wua, a, 1, 3, k1_dim) #print('finish \n', finish, '\n') #res=(step_1 + step_2 + finish).subs([(a,b1+b2+b3), (wua,3*n+1+wsb1+wsb2+wsb3),(n**2,2)]) return trunc(step_1 + step_2 + step_3 + finish, 2)