5

I'd like to efficiently evaluate $\Pi_i^N\Pi_j^N\Pi_k^N\Pi_l^N(1 + a_ib_jc_kd_l)$ without enumerating the $N^4$ terms by brute force.

I was able to achieve a mildly-efficient $O(N^2log^2(N^2))$ solution using univariate multipoint polynomial evaluation, but I am hoping to improve this to a sub-quadratic running time.

The technique is to construct $g(x) = \Pi_i\Pi_j(1+a_ib_jx)$ and then sample this polynomial at all points $\{c_kd_l\}_{k,l}$ which can be done in $O(N^2log^2(N^2))$ time via a divide-and-conquer approach on $\Pi_i\Pi_j(1+a_ib_jx) \mod \Pi_k\Pi_l(x-c_kd_l)$. The $N^2$ evaluations are then multiplied together to give the desired result $\Pi_k\Pi_lg(c_kd_l)$.

Is it possible to do better? If there are methods to split $\Pi_i\Pi_j(1+a_ib_jx) \mod \Pi_k\Pi_l(x-c_kd_l)$ into easier sub-problems, it seems like that would potentially lead to a sub-quadratic solution.

If it helps I am working in $\text{GF}(p)$, so finite-field techniques are fair game.

0 Answers0