def f_tilda(f, a, p): gz = fa(f, a, p) g0 = fa(f, M.zero(len(a), len(a)), p) numenator = M.sum(gz, M.mul_scalar(g0, p - 1, p), p) return M.mul(numenator, M.inverse(a, p), p)
def fa(f, a, p): res = M.zero(len(a), len(a)) for power, fi in enumerate(reversed(f)): res = M.sum(res, M.mul_scalar(M.power(a, power, p), fi, p), p) return res