コード例 #1
0
def extract_intersection(m):

    ma = pc.MulplicityList(m[s.x], pc.multiplication_group, pc.exponentiation,
                           pc.real_field)
    mb = pc.MulplicityList(m[s.y], pc.multiplication_group, pc.exponentiation,
                           pc.real_field)

    common = ma.intersection(mb)
    if len(common) == 0:
        return False

    m[s.a] = (ma - common).as_expression()
    m[s.b] = (mb - common).as_expression()
    m[s.c] = common.as_expression()
コード例 #2
0
def evaluate_fraction(m):
    ex, ey = m[s.x], m[s.y]**m[s.n]
    ma = pc.MulplicityList(ex, pc.multiplication_group, pc.exponentiation,
                           pc.real_field)
    mb = pc.MulplicityList(ey, pc.multiplication_group, pc.exponentiation,
                           pc.real_field)

    mbs = {k for k, v in mb}

    valid = False

    if not valid:
        for k, v in ma:
            if k in mbs:
                valid = True
                break
            if valid:
                break

    if valid == False:
        return False

    m[s.c] = (ma + mb).as_expression()