Beispiel #1
0
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)
Beispiel #2
0
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)
Beispiel #3
0
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)
Beispiel #4
0
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)
Beispiel #5
0
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)