from sympy.abc import x
from sympy import ZZ, Poly
q=128
a_list = [1,2,3,4,5]
b_list = [3,4,5,6,7]
a = Poly(a_list, x).set_domain(ZZ)
b = Poly(b_list, x).set_domain(ZZ)
modlist = np.zeros(5, int)
modlist[0] = 1
modlist[-1] = 1
mod = Poly(modlist, x).set_domain(ZZ)
print(((a + b) % mod).trunc(q))
print(((a * b) % mod).trunc(q))
Я попытался использовать SymEngine.py, чтобы ускорить его, но я не могу найти poly mod
в SymEngine.py, и как я могу установить домен poly в ZZ
Я тоже не знаю Знаю. SymEngine.py do c слишком груб. Надеюсь получить ответ.