Ejemplo n.º 1
0
def test_dup_revert():
    f = [-QQ(1, 720), QQ(0), QQ(1, 24), QQ(0), -QQ(1, 2), QQ(0), QQ(1)]
    g = [QQ(61, 720), QQ(0), QQ(5, 24), QQ(0), QQ(1, 2), QQ(0), QQ(1)]

    assert dup_revert(f, 8, QQ) == g

    raises(NotReversible, lambda: dup_revert([QQ(1), QQ(0)], 3, QQ))
Ejemplo n.º 2
0
def test_dup_revert():
    f = [-QQ(1, 720), QQ(0), QQ(1, 24), QQ(0), -QQ(1, 2), QQ(0), QQ(1)]
    g = [QQ(61, 720), QQ(0), QQ(5, 24), QQ(0), QQ(1, 2), QQ(0), QQ(1)]

    assert dup_revert(f, 8, QQ) == g

    raises(NotReversible, lambda: dup_revert([QQ(1), QQ(0)], 3, QQ))
Ejemplo n.º 3
0
 def revert(f, n):
     """Compute `f**(-1)` mod `x**n`. """
     if not f.lev:
         return f.per(dup_revert(f.rep, n, f.dom))
     else:
         raise ValueError('univariate polynomial expected')
Ejemplo n.º 4
0
 def revert(f, n):
     """Compute `f**(-1)` mod `x**n`. """
     if not f.lev:
         return f.per(dup_revert(f.rep, n, f.dom))
     else:
         raise ValueError('univariate polynomial expected')