3 research outputs found

    Cyclotomic Identity Testing and Applications

    Full text link
    We consider the cyclotomic identity testing problem: given a polynomial f(x1,…,xk)f(x_1,\ldots,x_k), decide whether f(ζne1,…,ζnek)f(\zeta_n^{e_1},\ldots,\zeta_n^{e_k}) is zero, for ζn=e2πi/n\zeta_n = e^{2\pi i/n} a primitive complex nn-th root of unity and integers e1,…,eke_1,\ldots,e_k. We assume that nn and e1,…,eke_1,\ldots,e_k are represented in binary and consider several versions of the problem, according to the representation of ff. For the case that ff is given by an algebraic circuit we give a randomized polynomial-time algorithm with two-sided errors, showing that the problem lies in BPP. In case ff is given by a circuit of polynomially bounded syntactic degree, we give a randomized algorithm with two-sided errors that runs in poly-logarithmic parallel time, showing that the problem lies in BPNC. In case ff is given by a depth-2 ΣΠ\Sigma\Pi circuit (or, equivalently, as a list of monomials), we show that the cyclotomic identity testing problem lies in NC. Under the generalised Riemann hypothesis, we are able to extend this approach to obtain a polynomial-time algorithm also for a very simple subclass of depth-3 ΣΠΣ\Sigma\Pi\Sigma circuits. We complement this last result by showing that for a more general class of depth-3 ΣΠΣ\Sigma\Pi\Sigma circuits, a polynomial-time algorithm for the cyclotomic identity testing problem would yield a sub-exponential-time algorithm for polynomial identity testing. Finally, we use cyclotomic identity testing to give a new proof that equality of compressed strings, i.e., strings presented using context-free grammars, can be decided in coRNC: randomized NC with one-sided errors
    corecore