SLIDE 1 Speaker: Moritz Hardt Joint work with Markus Bläser, Saarland University
Arithmetic Circuit Identity Testing for Sparse Polynomials
C M U T h e o r y L u n c h , A p r i l 2 5 2 0 0 7
SLIDE 2 Arithmetic Circuit
- division-free
- size = #gates
Sparse Polynomial: few nonzero monomials
24y + 2y4
2 1 + c ∗ ∗
Quick Reminder
SLIDE 3
Given an arithmetic circuit of size s computing a polynomial P, determine if P is identically zero. Arithmetic Circuit Identity Testing (ACIT)
SLIDE 4 Plan
case first.
- 2. Randomize!
- 3. Reductions from
multivariate to univariate. Deterministic algorithm that exploits the sparsity
SLIDE 5
How many roots can a nonzero univariate polynomial have?
SLIDE 6
How many roots can a nonzero univariate polynomial have?
d (degree)
SLIDE 7
How many roots can a nonzero univariate polynomial have?
d (degree)
Naive poly(d,s)-time algorithm
SLIDE 8
How many roots can a nonzero univariate polynomial have?
d (degree)
Can we say anything better?
Naive poly(d,s)-time algorithm
SLIDE 9
Fact: Real-valued polynomial with at most m nonzero monomials has at most m positive roots.
SLIDE 10
Fact: Real-valued polynomial with at most m nonzero monomials has at most m positive roots. Proof: Rule of Signs.
SLIDE 11
Fact: Real-valued polynomial with at most m nonzero monomials has at most m positive roots.
Naive poly(m,s)-time algorithm (over the reals)?
Proof: Rule of Signs.
SLIDE 12
Fact: Real-valued polynomial with at most m nonzero monomials has at most m positive roots.
Naive poly(m,s)-time algorithm (over the reals)?
No! Why not? Proof: Rule of Signs.
SLIDE 13
Fact: Real-valued polynomial with at most m nonzero monomials has at most m positive roots.
Naive poly(m,s)-time algorithm (over the reals)?
No! Why not? Proof: Rule of Signs. Can we still do it?
SLIDE 14 Previous Work
Lipton, Vishnoi ’03.
- poly(m,n,log d,H) runtime over the integers
Klivans, Spielman ’01.
Karpinski, Shparlinski ’96
- poly(m,n, log d) runtime over finite fields,
(but either a lot of randomness or dependence on the characteristic)
SLIDE 15 Previous Work
Lipton, Vishnoi ’03.
- poly(m,n,log d,H) runtime over the integers
Klivans, Spielman ’01.
Karpinski, Shparlinski ’96
- poly(m,n, log d) runtime over finite fields,
(but either a lot of randomness or dependence on the characteristic)
Further related work on sparse polynomial interpolation...
SLIDE 16 Previous Work
Lipton, Vishnoi ’03.
- poly(m,n,log d,H) runtime over the integers
Klivans, Spielman ’01.
Karpinski, Shparlinski ’96
- poly(m,n, log d) runtime over finite fields,
(but either a lot of randomness or dependence on the characteristic)
Further related work on sparse polynomial interpolation... Agrawal, Biswas ’99
- Randomness-efficient test using arithmetic circuits
Not related to sparsity:
SLIDE 17 Our result
- Deterministic test using poly(m,s) ring
- perations over any integral domain
- amounts to runtime poly(m,n,log d,H)
- ver integers or rationals, for instance
- Lower exponents in the runtime with fewer
random bits
SLIDE 18
Algorithm
for sufficiently many primes p. Given an arithmetic circuit computing a univariate polynomial P, verify
P() ≡ 0 mod p − 1
SLIDE 19 What is sufficient?
verify for sufficiently many primes p. Given a univariate polynomial P,
P() ≡ 0 mod p − 1
SLIDE 20 What is sufficient?
verify for sufficiently many primes p. Given a univariate polynomial P,
P() ≡ 0 mod p − 1
Claim: Given polynomial , degree d, nonzero monomials, then there are less than m log d primes p for which
m > 0
P() ≡ 0 mod p − 1.
P()
SLIDE 21 m > 0
Claim: Given polynomial , degree d, nonzero monomials, then there are less than m log d primes p for which
P() ≡ 0 mod p − 1.
P()
SLIDE 22 m > 0
Claim: Given polynomial , degree d, nonzero monomials, then there are less than m log d primes p for which
P() ≡ 0 mod p − 1.
P()
1st Idea: We’re reducing degrees mod p.
r < p, k ≥ 0 kp+r ≡ r mod p − 1
SLIDE 23 m > 0
Claim: Given polynomial , degree d, nonzero monomials, then there are less than m log d primes p for which
P() ≡ 0 mod p − 1.
P()
2nd Idea: Count prime factors! 1st Idea: We’re reducing degrees mod p.
r < p, k ≥ 0 kp+r ≡ r mod p − 1
SLIDE 24 m > 0
Claim: Given polynomial , degree d, nonzero monomials, then there are less than m log d primes p for which
P() ≡ 0 mod p − 1.
P()
2nd Idea: Count prime factors! Fix two monomials d, d′. 1st Idea: We’re reducing degrees mod p.
r < p, k ≥ 0 kp+r ≡ r mod p − 1
SLIDE 25 m > 0
Claim: Given polynomial , degree d, nonzero monomials, then there are less than m log d primes p for which
P() ≡ 0 mod p − 1.
P()
2nd Idea: Count prime factors! Fix two monomials d, d′. If d ≡ d′
mod p, we have p|(d − d′).
1st Idea: We’re reducing degrees mod p.
r < p, k ≥ 0 kp+r ≡ r mod p − 1
SLIDE 26 m > 0
Claim: Given polynomial , degree d, nonzero monomials, then there are less than m log d primes p for which
P() ≡ 0 mod p − 1.
P()
2nd Idea: Count prime factors! But, |d − d′| ≤ d. Fix two monomials d, d′. If d ≡ d′
mod p, we have p|(d − d′).
1st Idea: We’re reducing degrees mod p.
r < p, k ≥ 0 kp+r ≡ r mod p − 1
SLIDE 27 m > 0
Claim: Given polynomial , degree d, nonzero monomials, then there are less than m log d primes p for which
P() ≡ 0 mod p − 1.
P()
At most log d bad primes per pair of monomials! 2nd Idea: Count prime factors! But, |d − d′| ≤ d. Fix two monomials d, d′. If d ≡ d′
mod p, we have p|(d − d′).
1st Idea: We’re reducing degrees mod p.
r < p, k ≥ 0 kp+r ≡ r mod p − 1
SLIDE 28 verify for sufficiently many primes p. Given a univariate polynomial P,
P() ≡ 0 mod p − 1
How?
SLIDE 29 Claim: If P is given as an arithmetic circuit of size s, we can verify P() ≡ 0
mod k − 1
with Õ(sk) ring operations (over an integral domain). verify for sufficiently many primes p. Given a univariate polynomial P,
P() ≡ 0 mod p − 1
How?
SLIDE 30
Claim: If P is given as an arithmetic circuit of size s, we can verify P() ≡ 0
mod k − 1
with Õ(sk) ring operations (over an integral domain).
SLIDE 31
Claim: If P is given as an arithmetic circuit of size s, we can verify P() ≡ 0
mod k − 1
with Õ(sk) ring operations (over an integral domain). Idea: Compute the whole polynomial in its reduced form.
SLIDE 32 Claim: If P is given as an arithmetic circuit of size s, we can verify P() ≡ 0
mod k − 1
with Õ(sk) ring operations (over an integral domain).
∗ ∗ ∗ ∗
Example (k=5) Invariant: Degree k polynomial at each gate
(3)2 = 6 → (4)2 = 8 → 3
(2)2 = 4
2
Idea: Compute the whole polynomial in its reduced form.
SLIDE 33
Next step: Randomization
So far: Deterministic algorithm
runtime poly(m,s)
SLIDE 34
Goal: Õ(log(ms)) random bits, speed up runtime as much as possible, hopefully poly(s). No m, here.
Next step: Randomization
So far: Deterministic algorithm
runtime poly(m,s)
SLIDE 35 verify for sufficiently many primes p. Given a univariate polynomial P,
P() ≡ 0 mod p − 1
a large enough random prime p.
SLIDE 36 verify for sufficiently many primes p. Given a univariate polynomial P,
P() ≡ 0 mod p − 1
a large enough random prime p. OK, O(log p) = Õ(m log d) random bits.
SLIDE 37 verify for a large enough random prime p. Given a univariate polynomial P,
P() ≡ 0 mod p − 1
Are we done?
SLIDE 38 verify for a large enough random prime p. Given a univariate polynomial P,
P() ≡ 0 mod p − 1
Are we done? Runtime “poly(p,s)”
SLIDE 39 verify for a large enough random prime p. Given a univariate polynomial P,
P() ≡ 0 mod p − 1
Are we done? Runtime “poly(p,s)” Not efficient general, but still nice speed up.
SLIDE 40
Can we verify P() ≡ 0 mod p − 1 with poly(s) ring operations and O(log p) random bits ?
Open Problem
SLIDE 41 From multivariate to univariate
s n m d
1 n(d + 1)n
not much more none
≤ m (mnd)k 1
not much more
˜ O(log(mn log d))
sound w.h.p.
m
Random bits
SLIDE 42 Deterministic Reduction
P(1, 2, . . . , n)
Given:
SLIDE 43 Deterministic Reduction
P(1, 2, . . . , n)
Given:
:= (d+1)−1
Substitute
SLIDE 44 Deterministic Reduction
P(1, 2, . . . , n)
Given:
:= (d+1)−1
Substitute
Circuit of size n log d repeated squaring
SLIDE 45 Randomized Reduction
- Uses the mapping by Klivans and Spielman ’01
- Adds a step of chinese remaindering to it to
further decrease # random bits: O(log(mnd)) Õ(log(mn log d))
SLIDE 46 Results in Detail
Deterministic Randomized
with
˜ O(log(mn log d))
random bits
˜ O((mn log d)2S) S = s + n2 log d T = s + n log(mnd) ˜ O(m log(mnd)T)
SLIDE 47 Conclusion
- What’s the “significant” parameter in identity
testing? Degree or Sparsity?
- Classical results say degree
- Our result argues for sparsity
- Efficient randomized analogon
(Õ(log(ms)) random bits) still missing!
SLIDE 48
Thank you.
SLIDE 49 Closer look at the open question
P() ≡ 0 mod p − 1
if and only if
P(r) = 0 for all p-th roots of unity r.
P ∈ C[]. Suppose Fact:
SLIDE 50 Closer look at the open question
P() ≡ 0 mod p − 1
if and only if
P(r) = 0 for all p-th roots of unity r.
P ∈ C[]. Suppose Fact: What about picking a random root?
SLIDE 51 Closer look at the open question
P() ≡ 0 mod p − 1
if and only if
P(r) = 0 for all p-th roots of unity r.
P ∈ C[]. Suppose Fact: What about picking a random root? Idea: A polynomial that is zero everywhere except on
- ne point cannot be not sparse!
“Uncertainty Principle”
SLIDE 52 Closer look at the open question
P() ≡ 0 mod p − 1
if and only if
P(r) = 0 for all p-th roots of unity r.
P ∈ C[]. Suppose Fact: What about picking a random root? Idea: A polynomial that is zero everywhere except on
- ne point cannot be not sparse!
“Uncertainty Principle” Unfortunately, parameters too weak per se. But maybe, can mimic Indyk ’07 on polynomials...