def test_uncovered_line():
    gens = [x, y]
    f1 = sdm_zero()
    f2 = sdm_from_vector([x, 0], lex, QQ, gens=gens)
    f3 = sdm_from_vector([0, y], lex, QQ, gens=gens)

    assert sdm_spoly(f1, f2, lex, QQ) == sdm_zero()
    assert sdm_spoly(f3, f2, lex, QQ) == sdm_zero()
def test_conversion():
    f = [x**2 + y**2, 2*z]
    g = [((1, 0, 0, 1), QQ(2)), ((0, 2, 0, 0), QQ(1)), ((0, 0, 2, 0), QQ(1))]
    assert sdm_to_vector(g, [x, y, z], QQ) == f
    assert sdm_from_vector(f, lex, QQ) == g
    assert sdm_from_vector(
        [x, 1], lex, QQ) == [((1, 0), QQ(1)), ((0, 1), QQ(1))]
    assert sdm_to_vector([((1, 1, 0, 0), 1)], [x, y, z], QQ, n=3) == [0, x, 0]
    assert sdm_from_vector([0, 0], lex, QQ, gens=[x, y]) == sdm_zero()
def test_sdm_zero():
    assert sdm_zero() == []
 def contains(I, f):
     S = [sdm_from_vector([g], igrlex, QQ, gens=gens) for g in I]
     G = sdm_groebner(S, sdm_nf_mora, igrlex, QQ)
     return sdm_nf_mora(sdm_from_vector([f], lex, QQ, gens=gens),
                        G, lex, QQ) == sdm_zero()
Exemple #5
0
 def _contains(self, x):
     from diofant.polys.distributedmodules import sdm_zero, sdm_nf_mora
     return sdm_nf_mora(self.ring._vector_to_sdm(x, self.order),
                        self._groebner(), self.order, self.ring.domain) == \
         sdm_zero()