Factoring vs Identity Testing

Christian Engels August 14, 2018

layout: page title: Overview over the Equivalence between Polynomial Identity Testing and Polynomial Factorization author: Christian Engels publish: true

Sources

Basics

Shpilka, Volkovich

Preliminaries

Justifying Assignments

Proof

Decomposition

Algorithm (given a justifying assignment $a$):

  1. $\mathcal{I}=\emptyset$, $J=[n]$.
  2. Set $x_n=a_n$ and recursively compute the variable-partition of $C\vert_{x_n \leftarrow a_n}$ or return the singleton set ${ { 1} }$.
  3. Let $\mathcal{I}'$ be the resulting partition.
  4. For every $I\in \mathcal{I}'$ check if $C(a)\cdot C \equiv C_{x_n \leftarrow a_n} C_{x_{[n]\setminus I} \leftarrow a_{[n]\setminus I}}$.
    1. If yes, add $I$ to $\mathcal{I}$ and set $J\leftarrow J\setminus I$.
    2. Otherwise move to the next $I$.
  5. Add the remaining elements to $\mathcal{I}$ as a single set ($\mathcal{I}\cup { {J}}$).

Kopparty, Saraf, Shpilka

Rough Overview of the Kaltofen Factorization Algorithm (reducing multivariate factorization to univariate factorization)

Theorem

Explanation of the theorem

The whitebox case

Overview

Some more Details

  1. Let $h'$ be a factor of $f'$. Then there exists $h$ such that $h'(x,t,a_1,\dots,a_n)=h(x,ta_1,\dots,ta_n)$ and $h$ divides $f$.
    • Proof:
      • Let $h'(x,t,a_1,\dots,a_n) = \sum_{i,j} x^i t^j h'_{i,j(a_1,\dots,a_n)$.
      • $h'_{i,j}$ is homogeneous by the following argument:
        • Let $f'=h'\cdot g'$.
        • $h'$ and $g'$ are relatively prime (squaredfreeness and monicness).
        • Note that $f'(x,zt,a_1,\dots,a_n) = f'(x,t,za_1,\dots,za_n)$.
        • Hence $h'(x,zt, a_1,\dots,a_n) g'(x,zt,a_1,\dots,a_n) = h'(x,t,za_1,\dots,za_n) g'(x,t,za_1,\dots,za_n)$.
        • Hence by substituting $z=1$, i.e., calculate $\mod Z-1$.
        • Applying Hensel Lifting, we get that $h'(x,zt,a_1,\dots,a_n) = h'(x,t,za_1,\dots,za_n)$.
        • This implies $h'_{i,j}$ is a homogeneous polynoimal of degree $j$.
      • Define $h(x,y_1,\dots,y_n) = h'(x,1,y_1,\dots,y_n)$.
      • $h$ has now the required properties.
  2. Use normal univariate factoring
  3. Ignore a bunch of other stuff.
    • The polynomials $g_k,h_k$ (remember that $g_k(x,t) h_k(x,t) = f'(x,t) \mod T^{2^k}$) have small circuits in the following sense: There exists a circuit $C$ of size $size(f)+poly(n,k,d)$ such that $C$ computes all the coefficients of $g_k$ and $h_k$ in of the monomials $X^jt^{j'}$.
    • If $f'$ is reducible in $\mathbb{F}(a_1,\dots,a_n)[x,t]$ then the linear equation system from 4. has a non-trivial solution.
    • Consider the polynomial $S$ (with $s_{i,j}$ coefficients) and $R$ (with $r_{i,j}$ coefficients). Then $R$ and $f'$ have non-trivial GCD in the ring $\mathbb{F}(t,a_1,\dots,a_n)[x]$.
  4. Let $h$ be the gcd of $f'$ and $R$
    • Lemma 2.1: Homogeneous component extraction.
    • Lemma 2.9: Computing gcd with PIT is easy.
    • Lemma 2.3: If $f$ is monic and $g$ is monic and a factor in $\mathbb{F}(y_1,\dots,y_n)[x]$ then it is in $\mathbb{F}[x,y_1,\dots,y_n]$.
    • Lemma 3.1: Let $h'(x,t,a_1,\dots,a_n)$ be a factor of $f'(x,t,a_1,\dots,a_n)$. Then there exist $h(x,y_1,\dots,y_n)$ such that $h'(x,t,a_1,\dots,a_n)= h(x,ta_1,\dots,ta_n)$.
      • See $h'=\sum_{i,j} x^i t^j h'_{i,j}(a_1,\dots,a_n)$.
      • $h'_{i,j}$ is a homogeneous polynomial in $a_1,\dots,a_n$ of degree $j$. This is obvious by our construction.
    • Corollary 3.2: Let $h'(x,t,a_1,\dots,a_n)$ be a factor of $f'(x,t,a_1,\dots,a_n)$. Then there exists $h(x,y_1,\dots,y_n)$ such that $h'(x,t,a_1,\dots,a_n)=h(x,ta_1,\dots,ta_n)$ and $h(x,y_1,\dots,y_n)=h'(x,1,y_1,\dots,y_n)$.
    • With this we can do the following after getting the gcd of $f'$.
      • Compute a small circuit for $h'$ for every coefficient of $x^i$.
  5. We have a circuit for $f,h$ and can compute one for $f/h$. Try to factor $f/h$ and test if $f=h$ to stop, i.e., we found a trivial factor.