Counting Basic-Irreducible Factors Mod p k in Deterministic Poly-Time - - PowerPoint PPT Presentation

counting basic irreducible factors mod p k in
SMART_READER_LITE
LIVE PREVIEW

Counting Basic-Irreducible Factors Mod p k in Deterministic Poly-Time - - PowerPoint PPT Presentation

Counting Basic-Irreducible Factors Mod p k in Deterministic Poly-Time and p -Adic Applications Ashish Dwivedi IIT Kanpur, India Joint work with Rajat Mittal ( IIT Kanpur, India) and Nitin Saxena (IIT Kanpur, India) 34TH COMPUTATIONAL COMPLEXITY


slide-1
SLIDE 1

Counting Basic-Irreducible Factors Mod pk in Deterministic Poly-Time and p-Adic Applications

Ashish Dwivedi

IIT Kanpur, India Joint work with

Rajat Mittal (IIT Kanpur, India) and Nitin Saxena (IIT Kanpur, India)

34TH COMPUTATIONAL COMPLEXITY CONFERENCE (CCC) 2019 Rutgers University, New Brunswick, NJ, USA

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 1 / 33

slide-2
SLIDE 2

Overview

1

Introduction

2

The Problem

3

Randomized Algorithm

4

Challenges in Derandomization

5

A Deterministic Algorithm

6

Conclusion and Open Questions

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 2 / 33

slide-3
SLIDE 3

Introduction

Root finding of univariates modulo a prime is a well studied problem!

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 3 / 33

slide-4
SLIDE 4

Introduction

Root finding of univariates modulo a prime is a well studied problem! Many efficient randomized algorithms are known.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 3 / 33

slide-5
SLIDE 5

Introduction

Root finding of univariates modulo a prime is a well studied problem! Many efficient randomized algorithms are known. Open: A deterministic poly-time algorithm?

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 3 / 33

slide-6
SLIDE 6

Introduction

Root finding of univariates modulo a prime is a well studied problem! Many efficient randomized algorithms are known. Open: A deterministic poly-time algorithm? Known:

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 3 / 33

slide-7
SLIDE 7

Introduction

Root finding of univariates modulo a prime is a well studied problem! Many efficient randomized algorithms are known. Open: A deterministic poly-time algorithm? Known: Deterministic poly-time root counting.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 3 / 33

slide-8
SLIDE 8

Introduction

Root finding of univariates modulo a prime is a well studied problem! Many efficient randomized algorithms are known. Open: A deterministic poly-time algorithm? Known: Deterministic poly-time root counting. What about factoring modulo a composite n?

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 3 / 33

slide-9
SLIDE 9

Introduction

Root finding of univariates modulo a prime is a well studied problem! Many efficient randomized algorithms are known. Open: A deterministic poly-time algorithm? Known: Deterministic poly-time root counting. What about factoring modulo a composite n? (given prime factors of n)

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 3 / 33

slide-10
SLIDE 10

Introduction

Root finding of univariates modulo a prime is a well studied problem! Many efficient randomized algorithms are known. Open: A deterministic poly-time algorithm? Known: Deterministic poly-time root counting. What about factoring modulo a composite n? (given prime factors of n) It reduces to factoring modulo a prime power pk.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 3 / 33

slide-11
SLIDE 11

Introduction

Root finding of univariates modulo a prime is a well studied problem! Many efficient randomized algorithms are known. Open: A deterministic poly-time algorithm? Known: Deterministic poly-time root counting. What about factoring modulo a composite n? (given prime factors of n) It reduces to factoring modulo a prime power pk. (Chinese Remaindering)

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 3 / 33

slide-12
SLIDE 12

Introduction

Getting roots mod pk

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 4 / 33

slide-13
SLIDE 13

Introduction

Getting roots mod pk For roots of multiplicity 1 of f mod p, Hensel’s lifting guarantees unique lift mod pk.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 4 / 33

slide-14
SLIDE 14

Introduction

Getting roots mod pk For roots of multiplicity 1 of f mod p, Hensel’s lifting guarantees unique lift mod pk.

  • Eg. Given f (x) = x2 − 10x + 21 and p = 3.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 4 / 33

slide-15
SLIDE 15

Introduction

Getting roots mod pk For roots of multiplicity 1 of f mod p, Hensel’s lifting guarantees unique lift mod pk.

  • Eg. Given f (x) = x2 − 10x + 21 and p = 3.

⇒ f ≡ x(x − 1) mod 3.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 4 / 33

slide-16
SLIDE 16

Introduction

Getting roots mod pk For roots of multiplicity 1 of f mod p, Hensel’s lifting guarantees unique lift mod pk.

  • Eg. Given f (x) = x2 − 10x + 21 and p = 3.

⇒ f ≡ x(x − 1) mod 3. Roots: 0, 1!

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 4 / 33

slide-17
SLIDE 17

Introduction

Getting roots mod pk For roots of multiplicity 1 of f mod p, Hensel’s lifting guarantees unique lift mod pk.

  • Eg. Given f (x) = x2 − 10x + 21 and p = 3.

⇒ f ≡ x(x − 1) mod 3. Roots: 0, 1! Let f ≡ (x − 3a)(x − 1 − 3b) mod 9

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 4 / 33

slide-18
SLIDE 18

Introduction

Getting roots mod pk For roots of multiplicity 1 of f mod p, Hensel’s lifting guarantees unique lift mod pk.

  • Eg. Given f (x) = x2 − 10x + 21 and p = 3.

⇒ f ≡ x(x − 1) mod 3. Roots: 0, 1! Let f ≡ (x − 3a)(x − 1 − 3b) mod 9 ⇒ a ≡ 1 mod 3 and b ≡ 2 mod 3

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 4 / 33

slide-19
SLIDE 19

Introduction

Getting roots mod pk For roots of multiplicity 1 of f mod p, Hensel’s lifting guarantees unique lift mod pk.

  • Eg. Given f (x) = x2 − 10x + 21 and p = 3.

⇒ f ≡ x(x − 1) mod 3. Roots: 0, 1! Let f ≡ (x − 3a)(x − 1 − 3b) mod 9 ⇒ a ≡ 1 mod 3 and b ≡ 2 mod 3 Unique solution!

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 4 / 33

slide-20
SLIDE 20

Introduction

Getting roots mod pk For roots of multiplicity 1 of f mod p, Hensel’s lifting guarantees unique lift mod pk.

  • Eg. Given f (x) = x2 − 10x + 21 and p = 3.

⇒ f ≡ x(x − 1) mod 3. Roots: 0, 1! Let f ≡ (x − 3a)(x − 1 − 3b) mod 9 ⇒ a ≡ 1 mod 3 and b ≡ 2 mod 3 Unique solution! So f (x) ≡ (x − 3)(x − 7) mod 32.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 4 / 33

slide-21
SLIDE 21

Introduction

Getting roots mod pk For roots of multiplicity 1 of f mod p, Hensel’s lifting guarantees unique lift mod pk.

  • Eg. Given f (x) = x2 − 10x + 21 and p = 3.

⇒ f ≡ x(x − 1) mod 3. Roots: 0, 1! Let f ≡ (x − 3a)(x − 1 − 3b) mod 9 ⇒ a ≡ 1 mod 3 and b ≡ 2 mod 3 Unique solution! So f (x) ≡ (x − 3)(x − 7) mod 32. Roots after lift: 3, 7!

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 4 / 33

slide-22
SLIDE 22

Introduction

Getting roots mod pk For roots of multiplicity 1 of f mod p, Hensel’s lifting guarantees unique lift mod pk.

  • Eg. Given f (x) = x2 − 10x + 21 and p = 3.

⇒ f ≡ x(x − 1) mod 3. Roots: 0, 1! Let f ≡ (x − 3a)(x − 1 − 3b) mod 9 ⇒ a ≡ 1 mod 3 and b ≡ 2 mod 3 Unique solution! So f (x) ≡ (x − 3)(x − 7) mod 32. Roots after lift: 3, 7! The lifting goes on same way for any power 3k.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 4 / 33

slide-23
SLIDE 23

Introduction

First issue:

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 5 / 33

slide-24
SLIDE 24

Introduction

First issue: Multiplicity > 1?

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 5 / 33

slide-25
SLIDE 25

Introduction

First issue: Multiplicity > 1? Hensel lifting fails!

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 5 / 33

slide-26
SLIDE 26

Introduction

First issue: Multiplicity > 1? Hensel lifting fails! It requires co-prime factors,

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 5 / 33

slide-27
SLIDE 27

Introduction

First issue: Multiplicity > 1? Hensel lifting fails! It requires co-prime factors, otherwise non-unique lift or no lift at all.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 5 / 33

slide-28
SLIDE 28

Introduction

First issue: Multiplicity > 1? Hensel lifting fails! It requires co-prime factors, otherwise non-unique lift or no lift at all.

  • Eg. f = x2 + p

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 5 / 33

slide-29
SLIDE 29

Introduction

First issue: Multiplicity > 1? Hensel lifting fails! It requires co-prime factors, otherwise non-unique lift or no lift at all.

  • Eg. f = x2 + p and so f ≡ x2 mod p.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 5 / 33

slide-30
SLIDE 30

Introduction

First issue: Multiplicity > 1? Hensel lifting fails! It requires co-prime factors, otherwise non-unique lift or no lift at all.

  • Eg. f = x2 + p and so f ≡ x2 mod p.

Root 0 doesn’t lift mod p2.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 5 / 33

slide-31
SLIDE 31

Introduction

First issue: Multiplicity > 1? Hensel lifting fails! It requires co-prime factors, otherwise non-unique lift or no lift at all.

  • Eg. f = x2 + p and so f ≡ x2 mod p.

Root 0 doesn’t lift mod p2. The hard case is- f (x) ≡ (x − a)e mod p!

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 5 / 33

slide-32
SLIDE 32

Introduction

First issue: Multiplicity > 1? Hensel lifting fails! It requires co-prime factors, otherwise non-unique lift or no lift at all.

  • Eg. f = x2 + p and so f ≡ x2 mod p.

Root 0 doesn’t lift mod p2. The hard case is- f (x) ≡ (x − a)e mod p! Second issue:

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 5 / 33

slide-33
SLIDE 33

Introduction

First issue: Multiplicity > 1? Hensel lifting fails! It requires co-prime factors, otherwise non-unique lift or no lift at all.

  • Eg. f = x2 + p and so f ≡ x2 mod p.

Root 0 doesn’t lift mod p2. The hard case is- f (x) ≡ (x − a)e mod p! Second issue: The coefficient ring Z/pk is not a unique factorization domain!

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 5 / 33

slide-34
SLIDE 34

Introduction

First issue: Multiplicity > 1? Hensel lifting fails! It requires co-prime factors, otherwise non-unique lift or no lift at all.

  • Eg. f = x2 + p and so f ≡ x2 mod p.

Root 0 doesn’t lift mod p2. The hard case is- f (x) ≡ (x − a)e mod p! Second issue: The coefficient ring Z/pk is not a unique factorization domain! Exponentially many factors.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 5 / 33

slide-35
SLIDE 35

Introduction

First issue: Multiplicity > 1? Hensel lifting fails! It requires co-prime factors, otherwise non-unique lift or no lift at all.

  • Eg. f = x2 + p and so f ≡ x2 mod p.

Root 0 doesn’t lift mod p2. The hard case is- f (x) ≡ (x − a)e mod p! Second issue: The coefficient ring Z/pk is not a unique factorization domain! Exponentially many factors.

  • Eg. x2 + px mod p2.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 5 / 33

slide-36
SLIDE 36

Introduction

First issue: Multiplicity > 1? Hensel lifting fails! It requires co-prime factors, otherwise non-unique lift or no lift at all.

  • Eg. f = x2 + p and so f ≡ x2 mod p.

Root 0 doesn’t lift mod p2. The hard case is- f (x) ≡ (x − a)e mod p! Second issue: The coefficient ring Z/pk is not a unique factorization domain! Exponentially many factors.

  • Eg. x2 + px mod p2.

(x + pα) is a factor for all α ∈ Fp.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 5 / 33

slide-37
SLIDE 37

Introduction

First issue: Multiplicity > 1? Hensel lifting fails! It requires co-prime factors, otherwise non-unique lift or no lift at all.

  • Eg. f = x2 + p and so f ≡ x2 mod p.

Root 0 doesn’t lift mod p2. The hard case is- f (x) ≡ (x − a)e mod p! Second issue: The coefficient ring Z/pk is not a unique factorization domain! Exponentially many factors.

  • Eg. x2 + px mod p2.

(x + pα) is a factor for all α ∈ Fp. Due to this, the search space could be exponential at every stage of lifting!

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 5 / 33

slide-38
SLIDE 38

Introduction

First issue: Multiplicity > 1? Hensel lifting fails! It requires co-prime factors, otherwise non-unique lift or no lift at all.

  • Eg. f = x2 + p and so f ≡ x2 mod p.

Root 0 doesn’t lift mod p2. The hard case is- f (x) ≡ (x − a)e mod p! Second issue: The coefficient ring Z/pk is not a unique factorization domain! Exponentially many factors.

  • Eg. x2 + px mod p2.

(x + pα) is a factor for all α ∈ Fp. Due to this, the search space could be exponential at every stage of lifting! It becomes non-trivial to find or even count all the factors.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 5 / 33

slide-39
SLIDE 39

Introduction

Gathen and Hartlieb [1996] showed that when k is large, factorizations are nicely connected with unique p-adic factorization.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 6 / 33

slide-40
SLIDE 40

Introduction

Gathen and Hartlieb [1996] showed that when k is large, factorizations are nicely connected with unique p-adic factorization. They also gave example that factors are not always nicely connected.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 6 / 33

slide-41
SLIDE 41

Introduction

Gathen and Hartlieb [1996] showed that when k is large, factorizations are nicely connected with unique p-adic factorization. They also gave example that factors are not always nicely connected.

  • Eg. Let f = x4 + 249x2 + 1458 and pk = 36.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 6 / 33

slide-42
SLIDE 42

Introduction

Gathen and Hartlieb [1996] showed that when k is large, factorizations are nicely connected with unique p-adic factorization. They also gave example that factors are not always nicely connected.

  • Eg. Let f = x4 + 249x2 + 1458 and pk = 36.

So f ≡ x4 mod 3 Hard Case!

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 6 / 33

slide-43
SLIDE 43

Introduction

Gathen and Hartlieb [1996] showed that when k is large, factorizations are nicely connected with unique p-adic factorization. They also gave example that factors are not always nicely connected.

  • Eg. Let f = x4 + 249x2 + 1458 and pk = 36.

So f ≡ x4 mod 3 Hard Case! f =(x2 + 243) (x2 + 6) mod 36 an irreducible factorization.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 6 / 33

slide-44
SLIDE 44

Introduction

Gathen and Hartlieb [1996] showed that when k is large, factorizations are nicely connected with unique p-adic factorization. They also gave example that factors are not always nicely connected.

  • Eg. Let f = x4 + 249x2 + 1458 and pk = 36.

So f ≡ x4 mod 3 Hard Case! f =(x2 + 243) (x2 + 6) mod 36 an irreducible factorization. A completely unrelated irreducible factorization:

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 6 / 33

slide-45
SLIDE 45

Introduction

Gathen and Hartlieb [1996] showed that when k is large, factorizations are nicely connected with unique p-adic factorization. They also gave example that factors are not always nicely connected.

  • Eg. Let f = x4 + 249x2 + 1458 and pk = 36.

So f ≡ x4 mod 3 Hard Case! f =(x2 + 243) (x2 + 6) mod 36 an irreducible factorization. A completely unrelated irreducible factorization: f =(x + 351) (x + 135) (x2 + 243x + 249) mod 36.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 6 / 33

slide-46
SLIDE 46

Overview

1

Introduction

2

The Problem

3

Randomized Algorithm

4

Challenges in Derandomization

5

A Deterministic Algorithm

6

Conclusion and Open Questions

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 7 / 33

slide-47
SLIDE 47

The Problem

Input: a univariate f (x) ∈ Z[x] and a prime power pk (in bits).

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 8 / 33

slide-48
SLIDE 48

The Problem

Input: a univariate f (x) ∈ Z[x] and a prime power pk (in bits). Output: Find and count exactly the roots of f mod pk.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 8 / 33

slide-49
SLIDE 49

The Problem

Input: a univariate f (x) ∈ Z[x] and a prime power pk (in bits). Output: Find and count exactly the roots of f mod pk. There could be pk many roots of f mod pk; exponential in input size.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 8 / 33

slide-50
SLIDE 50

The Problem

Input: a univariate f (x) ∈ Z[x] and a prime power pk (in bits). Output: Find and count exactly the roots of f mod pk. There could be pk many roots of f mod pk; exponential in input size. Berthomieu, Lecerf and Quintin [BLQ 2013] gave a randomized poly-time algorithm to find and count exactly the roots of f mod pk.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 8 / 33

slide-51
SLIDE 51

The Problem

Input: a univariate f (x) ∈ Z[x] and a prime power pk (in bits). Output: Find and count exactly the roots of f mod pk. There could be pk many roots of f mod pk; exponential in input size. Berthomieu, Lecerf and Quintin [BLQ 2013] gave a randomized poly-time algorithm to find and count exactly the roots of f mod pk. Open: A deterministic polynomial time algorithm to exactly count the roots of f mod pk?

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 8 / 33

slide-52
SLIDE 52

The Problem

Input: a univariate f (x) ∈ Z[x] and a prime power pk (in bits). Output: Find and count exactly the roots of f mod pk. There could be pk many roots of f mod pk; exponential in input size. Berthomieu, Lecerf and Quintin [BLQ 2013] gave a randomized poly-time algorithm to find and count exactly the roots of f mod pk. Open: A deterministic polynomial time algorithm to exactly count the roots of f mod pk? Counting roots is stronger than just showing the existence of a root.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 8 / 33

slide-53
SLIDE 53

The Problem

Input: a univariate f (x) ∈ Z[x] and a prime power pk (in bits). Output: Find and count exactly the roots of f mod pk. There could be pk many roots of f mod pk; exponential in input size. Berthomieu, Lecerf and Quintin [BLQ 2013] gave a randomized poly-time algorithm to find and count exactly the roots of f mod pk. Open: A deterministic polynomial time algorithm to exactly count the roots of f mod pk? Counting roots is stronger than just showing the existence of a root. Extension to count irreducible factors will give an irreducibility criteria.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 8 / 33

slide-54
SLIDE 54

Our Results

Derandomization is a holy-grail in computational complexity.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 9 / 33

slide-55
SLIDE 55

Our Results

Derandomization is a holy-grail in computational complexity. It is interesting to know how we can search deterministically in an exponential space.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 9 / 33

slide-56
SLIDE 56

Our Results

Derandomization is a holy-grail in computational complexity. It is interesting to know how we can search deterministically in an exponential space. We give a deterministic poly-time algorithm to exactly count roots .

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 9 / 33

slide-57
SLIDE 57

Our Results

Derandomization is a holy-grail in computational complexity. It is interesting to know how we can search deterministically in an exponential space. We give a deterministic poly-time algorithm to exactly count roots . We will do more-

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 9 / 33

slide-58
SLIDE 58

Our Results

Derandomization is a holy-grail in computational complexity. It is interesting to know how we can search deterministically in an exponential space. We give a deterministic poly-time algorithm to exactly count roots . We will do more- A Structural Result.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 9 / 33

slide-59
SLIDE 59

Our Results

Derandomization is a holy-grail in computational complexity. It is interesting to know how we can search deterministically in an exponential space. We give a deterministic poly-time algorithm to exactly count roots . We will do more- A Structural Result. The root set partitions into at most deg(f ) many subsets of easily computable size.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 9 / 33

slide-60
SLIDE 60

Our Results

Derandomization is a holy-grail in computational complexity. It is interesting to know how we can search deterministically in an exponential space. We give a deterministic poly-time algorithm to exactly count roots . We will do more- A Structural Result. The root set partitions into at most deg(f ) many subsets of easily computable size. It is similar to the property shown by a univariate over fields.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 9 / 33

slide-61
SLIDE 61

Our Results

Derandomization is a holy-grail in computational complexity. It is interesting to know how we can search deterministically in an exponential space. We give a deterministic poly-time algorithm to exactly count roots . We will do more- A Structural Result. The root set partitions into at most deg(f ) many subsets of easily computable size. It is similar to the property shown by a univariate over fields. Our result extends to count exactly the basic-irreducible factors of f mod pk as well.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 9 / 33

slide-62
SLIDE 62

Efficiently Partitioning the Root Set

To get exponentially many roots efficiently, the real challenge is to first find a compact representation of the root set of f mod pk.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 10 / 33

slide-63
SLIDE 63

Efficiently Partitioning the Root Set

To get exponentially many roots efficiently, the real challenge is to first find a compact representation of the root set of f mod pk. This was first achieved by Berthomieu, Lecerf and Quintin (2013) in randomized setting.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 10 / 33

slide-64
SLIDE 64

Efficiently Partitioning the Root Set

To get exponentially many roots efficiently, the real challenge is to first find a compact representation of the root set of f mod pk. This was first achieved by Berthomieu, Lecerf and Quintin (2013) in randomized setting. By efficiently partitioning the root set of f mod pk, [BLQ 13] gave the first randomized poly-time algorithm to find (& count) exactly the roots of f mod pk.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 10 / 33

slide-65
SLIDE 65

Efficiently Partitioning the Root Set

To get exponentially many roots efficiently, the real challenge is to first find a compact representation of the root set of f mod pk. This was first achieved by Berthomieu, Lecerf and Quintin (2013) in randomized setting. By efficiently partitioning the root set of f mod pk, [BLQ 13] gave the first randomized poly-time algorithm to find (& count) exactly the roots of f mod pk. We give a simple exposition of [BLQ 13] which helps understand our deterministic algorithm.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 10 / 33

slide-66
SLIDE 66

Overview

1

Introduction

2

The Problem

3

Randomized Algorithm

4

Challenges in Derandomization

5

A Deterministic Algorithm

6

Conclusion and Open Questions

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 11 / 33

slide-67
SLIDE 67

Randomized Algorithm: Framework

[BLQ’ 13] uses randomized algorithm mod p repeatedly as a black-box (eg. Cantor-Zassenhaus CZ).

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 12 / 33

slide-68
SLIDE 68

Randomized Algorithm: Framework

[BLQ’ 13] uses randomized algorithm mod p repeatedly as a black-box (eg. Cantor-Zassenhaus CZ). Fact: any root mod pk is a lift of some root mod pℓ for all ℓ ≤ k.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 12 / 33

slide-69
SLIDE 69

Randomized Algorithm: Framework

[BLQ’ 13] uses randomized algorithm mod p repeatedly as a black-box (eg. Cantor-Zassenhaus CZ). Fact: any root mod pk is a lift of some root mod pℓ for all ℓ ≤ k. r = r0 + pr1 + . . . + pk−1rk−1

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 12 / 33

slide-70
SLIDE 70

Randomized Algorithm: Framework

[BLQ’ 13] uses randomized algorithm mod p repeatedly as a black-box (eg. Cantor-Zassenhaus CZ). Fact: any root mod pk is a lift of some root mod pℓ for all ℓ ≤ k. r = r0 + pr1 + . . . + pk−1rk−1 r is a lift of r0 mod p,

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 12 / 33

slide-71
SLIDE 71

Randomized Algorithm: Framework

[BLQ’ 13] uses randomized algorithm mod p repeatedly as a black-box (eg. Cantor-Zassenhaus CZ). Fact: any root mod pk is a lift of some root mod pℓ for all ℓ ≤ k. r = r0 + pr1 + . . . + pk−1rk−1 r is a lift of r0 mod p, r0 + pr1 mod p2 and so on.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 12 / 33

slide-72
SLIDE 72

Randomized Algorithm: Framework

[BLQ’ 13] uses randomized algorithm mod p repeatedly as a black-box (eg. Cantor-Zassenhaus CZ). Fact: any root mod pk is a lift of some root mod pℓ for all ℓ ≤ k. r = r0 + pr1 + . . . + pk−1rk−1 r is a lift of r0 mod p, r0 + pr1 mod p2 and so on. Idea: Find each ri one by one using the CZ algorithm to incrementally build up the lifts of r0 with higher and higher precision leading up to r.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 12 / 33

slide-73
SLIDE 73

Randomized Algorithm: Notation

If pα|f (x) mod pk then any root r = r0 + pr1 + . . . + pk−1rk−1 is independent of rk−α and beyond.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 13 / 33

slide-74
SLIDE 74

Randomized Algorithm: Notation

If pα|f (x) mod pk then any root r = r0 + pr1 + . . . + pk−1rk−1 is independent of rk−α and beyond. In other words, r = r0 + pr1 + . . . + pk−α−1rk−α−1 + pk−α ∗ + . . . + pk−1∗, where ∗ denotes everything in Fp.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 13 / 33

slide-75
SLIDE 75

Randomized Algorithm: Notation

If pα|f (x) mod pk then any root r = r0 + pr1 + . . . + pk−1rk−1 is independent of rk−α and beyond. In other words, r = r0 + pr1 + . . . + pk−α−1rk−α−1 + pk−α ∗ + . . . + pk−1∗, where ∗ denotes everything in Fp. In short, we write r = r0 + pr1 + . . . + pk−α∗ where r is called a representative root representing pα ‘distinct’ roots of f mod pk.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 13 / 33

slide-76
SLIDE 76

Randomized Algorithm: Notation

If pα|f (x) mod pk then any root r = r0 + pr1 + . . . + pk−1rk−1 is independent of rk−α and beyond. In other words, r = r0 + pr1 + . . . + pk−α−1rk−α−1 + pk−α ∗ + . . . + pk−1∗, where ∗ denotes everything in Fp. In short, we write r = r0 + pr1 + . . . + pk−α∗ where r is called a representative root representing pα ‘distinct’ roots of f mod pk. The randomized algorithm will return all the roots in representative form- at most deg(f ) many!

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 13 / 33

slide-77
SLIDE 77

Randomized Algorithm

Recall: Incrementally build up r by finding co-ordinates ri one by one.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 14 / 33

slide-78
SLIDE 78

Randomized Algorithm

Recall: Incrementally build up r by finding co-ordinates ri one by one. To get candidates for r0 apply CZ on f (x) mod p.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 14 / 33

slide-79
SLIDE 79

Randomized Algorithm

Recall: Incrementally build up r by finding co-ordinates ri one by one. To get candidates for r0 apply CZ on f (x) mod p. For every r0 obtained do the following: {

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 14 / 33

slide-80
SLIDE 80

Randomized Algorithm

Recall: Incrementally build up r by finding co-ordinates ri one by one. To get candidates for r0 apply CZ on f (x) mod p. For every r0 obtained do the following: { Shift: f (x) → f (r0 + px),

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 14 / 33

slide-81
SLIDE 81

Randomized Algorithm

Recall: Incrementally build up r by finding co-ordinates ri one by one. To get candidates for r0 apply CZ on f (x) mod p. For every r0 obtained do the following: { Shift: f (x) → f (r0 + px), Divide: Get g(x) = f (r0 + px)/pα mod pk−α where pα||f (r0 + px).

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 14 / 33

slide-82
SLIDE 82

Randomized Algorithm

Recall: Incrementally build up r by finding co-ordinates ri one by one. To get candidates for r0 apply CZ on f (x) mod p. For every r0 obtained do the following: { Shift: f (x) → f (r0 + px), Divide: Get g(x) = f (r0 + px)/pα mod pk−α where pα||f (r0 + px). Repeat the Shift-Divide cycle on g(x) mod pk−α to get corresponding r1s and so on. }

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 14 / 33

slide-83
SLIDE 83

Randomized Algorithm: Correctness

Recall g(x) = f (r0 + px)/pα mod pk−α.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 15 / 33

slide-84
SLIDE 84

Randomized Algorithm: Correctness

Recall g(x) = f (r0 + px)/pα mod pk−α. Essentially every iteration reduces finding roots of f (x) mod pk, which are lifts of r0, to roots of g(x) mod pk−α.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 15 / 33

slide-85
SLIDE 85

Randomized Algorithm: Correctness

Recall g(x) = f (r0 + px)/pα mod pk−α. Essentially every iteration reduces finding roots of f (x) mod pk, which are lifts of r0, to roots of g(x) mod pk−α. For any root r′ of g mod pk−α the corresponding roots of f mod pk are: r0 + p(r′+pk−α∗)

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 15 / 33

slide-86
SLIDE 86

Randomized Algorithm: Correctness

Recall g(x) = f (r0 + px)/pα mod pk−α. Essentially every iteration reduces finding roots of f (x) mod pk, which are lifts of r0, to roots of g(x) mod pk−α. For any root r′ of g mod pk−α the corresponding roots of f mod pk are: r0 + p(r′+pk−α∗) Always α ≥ 1, so the process stops in at most k iterations.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 15 / 33

slide-87
SLIDE 87

Randomized Algorithm: Time Complexity

The time taken could be very high?

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 16 / 33

slide-88
SLIDE 88

Randomized Algorithm: Time Complexity

The time taken could be very high? deg(f )k many roots in the end?

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 16 / 33

slide-89
SLIDE 89

Randomized Algorithm: Time Complexity

The time taken could be very high? deg(f )k many roots in the end? The algorithm forms a virtual tree of roots:

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 16 / 33

slide-90
SLIDE 90

Randomized Algorithm: Time Complexity

The time taken could be very high? deg(f )k many roots in the end? The algorithm forms a virtual tree of roots: f (x) gr0,0 gr0,1 gr0,2 gr1,2 D ∗ ∗ ∗ ∗ r0,0 r0,1 r0,2 r1,0 r1,1 r1,2 r2,0 r2,1

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 16 / 33

slide-91
SLIDE 91

Randomized Algorithm: Time Complexity

The time taken could be very high? deg(f )k many roots in the end? The algorithm forms a virtual tree of roots: f (x) gr0,0 gr0,1 gr0,2 gr1,2 D ∗ ∗ ∗ ∗ r0,0 r0,1 r0,2 r1,0 r1,1 r1,2 r2,0 r2,1 Roots are: r0,1 + pr1,0 + p2∗,

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 16 / 33

slide-92
SLIDE 92

Randomized Algorithm: Time Complexity

The time taken could be very high? deg(f )k many roots in the end? The algorithm forms a virtual tree of roots: f (x) gr0,0 gr0,1 gr0,2 gr1,2 D ∗ ∗ ∗ ∗ r0,0 r0,1 r0,2 r1,0 r1,1 r1,2 r2,0 r2,1 Roots are: r0,1 + pr1,0 + p2∗, r0,2 + pr1,1 + p2∗,

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 16 / 33

slide-93
SLIDE 93

Randomized Algorithm: Time Complexity

The time taken could be very high? deg(f )k many roots in the end? The algorithm forms a virtual tree of roots: f (x) gr0,0 gr0,1 gr0,2 gr1,2 D ∗ ∗ ∗ ∗ r0,0 r0,1 r0,2 r1,0 r1,1 r1,2 r2,0 r2,1 Roots are: r0,1 + pr1,0 + p2∗, r0,2 + pr1,1 + p2∗, r0,2 + pr1,2 + p2r2,0 + p3∗,

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 16 / 33

slide-94
SLIDE 94

Randomized Algorithm: Time Complexity

The time taken could be very high? deg(f )k many roots in the end? The algorithm forms a virtual tree of roots: f (x) gr0,0 gr0,1 gr0,2 gr1,2 D ∗ ∗ ∗ ∗ r0,0 r0,1 r0,2 r1,0 r1,1 r1,2 r2,0 r2,1 Roots are: r0,1 + pr1,0 + p2∗, r0,2 + pr1,1 + p2∗, r0,2 + pr1,2 + p2r2,0 + p3∗, r0,2 + pr1,2 + p2r2,1 + p3∗

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 16 / 33

slide-95
SLIDE 95

Randomized Algorithm: Time Complexity

The time taken could be very high? deg(f )k many roots in the end? The algorithm forms a virtual tree of roots: f (x) gr0,0 gr0,1 gr0,2 gr1,2 D ∗ ∗ ∗ ∗ r0,0 r0,1 r0,2 r1,0 r1,1 r1,2 r2,0 r2,1 Partitioning the root-set: A path from root to a leaf denotes a representative-root of f . The tree has at most d leaves.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 17 / 33

slide-96
SLIDE 96

Randomized Algorithm: Time Complexity

The time taken could be very high? deg(f )k many roots in the end? The algorithm forms a virtual tree of roots: f (x) gr0,0 gr0,1 gr0,2 gr1,2 D ∗ ∗ ∗ ∗ r0,0 r0,1 r0,2 r1,0 r1,1 r1,2 r2,0 r2,1 Claim: The degree of a node distributes to its children.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 18 / 33

slide-97
SLIDE 97

Randomized Algorithm: Time Complexity

The time taken could be very high? deg(f )k many roots in the end? The algorithm forms a virtual tree of roots: f (x) gr0,0 gr0,1 gr0,2 gr1,2 D ∗ ∗ ∗ ∗ r0,0 r0,1 r0,2 r1,0 r1,1 r1,2 r2,0 r2,1 Multiplicity Property:

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 19 / 33

slide-98
SLIDE 98

Randomized Algorithm: Time Complexity

The time taken could be very high? deg(f )k many roots in the end? The algorithm forms a virtual tree of roots: f (x) gr0,0 gr0,1 gr0,2 gr1,2 D ∗ ∗ ∗ ∗ r0,0 r0,1 r0,2 r1,0 r1,1 r1,2 r2,0 r2,1 Multiplicity Property: Let r0 be a root of multiplicity m of f (x) mod p then the degree of children corresponding to r0 is at most m.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 19 / 33

slide-99
SLIDE 99

Randomized Algorithm: Time Complexity

The time taken could be very high? deg(f )k many roots in the end? The algorithm forms a virtual tree of roots: f (x) gr0,0 gr0,1 gr0,2 gr1,2 D ∗ ∗ ∗ ∗ r0,0 r0,1 r0,2 r1,0 r1,1 r1,2 r2,0 r2,1 So, the size of tree is polynomial in input size and the algorithm runs in randomized poly(deg(f ), k log p) time.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 20 / 33

slide-100
SLIDE 100

Overview

1

Introduction

2

The Problem

3

Randomized Algorithm

4

Challenges in Derandomization

5

A Deterministic Algorithm

6

Conclusion and Open Questions

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 21 / 33

slide-101
SLIDE 101

Challenges in Derandomization

Challenge: Extend the properties, of the randomized algorithms, to the deterministic (poly-time) context.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 22 / 33

slide-102
SLIDE 102

Challenges in Derandomization

Challenge: Extend the properties, of the randomized algorithms, to the deterministic (poly-time) context. Can we still cluster (may be implicitly) the roots of f mod pk into deg(f ) many clusters, deterministically? (CZ is not available)

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 22 / 33

slide-103
SLIDE 103

Challenges in Derandomization

Challenge: Extend the properties, of the randomized algorithms, to the deterministic (poly-time) context. Can we still cluster (may be implicitly) the roots of f mod pk into deg(f ) many clusters, deterministically? (CZ is not available) Can we generalize the multiplicity argument of [BLQ’13] in the deterministic context?

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 22 / 33

slide-104
SLIDE 104

Challenges in Derandomization

Challenge: Extend the properties, of the randomized algorithms, to the deterministic (poly-time) context. Can we still cluster (may be implicitly) the roots of f mod pk into deg(f ) many clusters, deterministically? (CZ is not available) Can we generalize the multiplicity argument of [BLQ’13] in the deterministic context? Can we extend the techniques to count basic-irreducible factors f mod pk?

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 22 / 33

slide-105
SLIDE 105

Challenges in Derandomization

Last year Cheng, Gao, Rojas, Wan [ANTS’ 18] partially derandomized in time exponential in the parameter k.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 23 / 33

slide-106
SLIDE 106

Challenges in Derandomization

Last year Cheng, Gao, Rojas, Wan [ANTS’ 18] partially derandomized in time exponential in the parameter k. We give the first deterministic poly(d, k log p) time algorithm to count the

  • roots. A complete derandomization.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 23 / 33

slide-107
SLIDE 107

Overview

1

Introduction

2

The Problem

3

Randomized Algorithm

4

Challenges in Derandomization

5

A Deterministic Algorithm

6

Conclusion and Open Questions

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 24 / 33

slide-108
SLIDE 108

Deterministic Algorithm

Can not apply Cantor-Zassenhaus!

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 25 / 33

slide-109
SLIDE 109

Deterministic Algorithm

Can not apply Cantor-Zassenhaus! Intermediate roots are not available!

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 25 / 33

slide-110
SLIDE 110

Deterministic Algorithm

Can not apply Cantor-Zassenhaus! Intermediate roots are not available! Shifting same way is not possible!

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 25 / 33

slide-111
SLIDE 111

Deterministic Algorithm

Can not apply Cantor-Zassenhaus! Intermediate roots are not available! Shifting same way is not possible! Needs a different perspective.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 25 / 33

slide-112
SLIDE 112

Deterministic Algorithm: Tool 1

A shift g(x) → g(a + px) is equivalent to g(x0+px) mod x0−a.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 26 / 33

slide-113
SLIDE 113

Deterministic Algorithm: Tool 1

A shift g(x) → g(a + px) is equivalent to g(x0+px) mod x0−a. Similarly, g(a + px) → g(a + pb + p2x) ⇔ g(x0 + px1+p2x) mod x0−a, x1−b.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 26 / 33

slide-114
SLIDE 114

Deterministic Algorithm: Tool 1

A shift g(x) → g(a + px) is equivalent to g(x0+px) mod x0−a. Similarly, g(a + px) → g(a + pb + p2x) ⇔ g(x0 + px1+p2x) mod x0−a, x1−b. So we consider the representation- x → x0 + px1 + . . . + pk−1xk−1.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 26 / 33

slide-115
SLIDE 115

Deterministic Algorithm: Tool 2

Given g(x) mod p, how can we count the roots of g?

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 27 / 33

slide-116
SLIDE 116

Deterministic Algorithm: Tool 2

Given g(x) mod p, how can we count the roots of g? Apply Polynomial Method: h(x) := (g(x), xp − x) mod p

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 27 / 33

slide-117
SLIDE 117

Deterministic Algorithm: Tool 2

Given g(x) mod p, how can we count the roots of g? Apply Polynomial Method: h(x) := (g(x), xp − x) mod p h(x) implicitly stores all the roots of g. The degree of h gives count!

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 27 / 33

slide-118
SLIDE 118

Deterministic Algorithm

Initialization:

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 28 / 33

slide-119
SLIDE 119

Deterministic Algorithm

Initialization: h0(x) := (f (x), xp − x) mod p.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 28 / 33

slide-120
SLIDE 120

Deterministic Algorithm

Initialization: h0(x) := (f (x), xp − x) mod p. I0 := h0(x0).

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 28 / 33

slide-121
SLIDE 121

Deterministic Algorithm

Initialization: h0(x) := (f (x), xp − x) mod p. I0 := h0(x0). deg(I0) = deg(h0)= count on roots mod p.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 28 / 33

slide-122
SLIDE 122

Deterministic Algorithm

Initialization: h0(x) := (f (x), xp − x) mod p. I0 := h0(x0). deg(I0) = deg(h0)= count on roots mod p. Intermediate Step:

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 28 / 33

slide-123
SLIDE 123

Deterministic Algorithm

Initialization: h0(x) := (f (x), xp − x) mod p. I0 := h0(x0). deg(I0) = deg(h0)= count on roots mod p. Intermediate Step: Let Iℓ = h0(x0), h1(x0, x1), . . . , hℓ(x0, . . . , xℓ).

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 28 / 33

slide-124
SLIDE 124

Deterministic Algorithm

Initialization: h0(x) := (f (x), xp − x) mod p. I0 := h0(x0). deg(I0) = deg(h0)= count on roots mod p. Intermediate Step: Let Iℓ = h0(x0), h1(x0, x1), . . . , hℓ(x0, . . . , xℓ). deg(Iℓ) := degxi hi

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 28 / 33

slide-125
SLIDE 125

Deterministic Algorithm

Initialization: h0(x) := (f (x), xp − x) mod p. I0 := h0(x0). deg(I0) = deg(h0)= count on roots mod p. Intermediate Step: Let Iℓ = h0(x0), h1(x0, x1), . . . , hℓ(x0, . . . , xℓ). deg(Iℓ) := degxi hi The split ideal Iℓ splits as Iℓ = x0 − a0, x1 − a1, . . . , xℓ − aℓ.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 28 / 33

slide-126
SLIDE 126

Deterministic Algorithm

Initialization: h0(x) := (f (x), xp − x) mod p. I0 := h0(x0). deg(I0) = deg(h0)= count on roots mod p. Intermediate Step: Let Iℓ = h0(x0), h1(x0, x1), . . . , hℓ(x0, . . . , xℓ). deg(Iℓ) := degxi hi The split ideal Iℓ splits as Iℓ = x0 − a0, x1 − a1, . . . , xℓ − aℓ. Shift: g(x) := f (x0 + px1 + . . . + pℓxℓ + pℓ+1x) mod Iℓ

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 28 / 33

slide-127
SLIDE 127

Deterministic Algorithm

Initialization: h0(x) := (f (x), xp − x) mod p. I0 := h0(x0). deg(I0) = deg(h0)= count on roots mod p. Intermediate Step: Let Iℓ = h0(x0), h1(x0, x1), . . . , hℓ(x0, . . . , xℓ). deg(Iℓ) := degxi hi The split ideal Iℓ splits as Iℓ = x0 − a0, x1 − a1, . . . , xℓ − aℓ. Shift: g(x) := f (x0 + px1 + . . . + pℓxℓ + pℓ+1x) mod Iℓ The reduction f (x0 + px1 + . . . + pℓxℓ + pℓ+1x) mod Iℓ can be seen as performing shift by all the roots ¯ a of Iℓ simultaneously (CRT).

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 28 / 33

slide-128
SLIDE 128

Deterministic Algorithm

Initialization: h0(x) := (f (x), xp − x) mod p. I0 := h0(x0). deg(I0) = deg(h0)= count on roots mod p. Intermediate Step: Let Iℓ = h0(x0), h1(x0, x1), . . . , hℓ(x0, . . . , xℓ). deg(Iℓ) := degxi hi The split ideal Iℓ splits as Iℓ = x0 − a0, x1 − a1, . . . , xℓ − aℓ. Shift: g(x) := f (x0 + px1 + . . . + pℓxℓ + pℓ+1x) mod Iℓ The reduction f (x0 + px1 + . . . + pℓxℓ + pℓ+1x) mod Iℓ can be seen as performing shift by all the roots ¯ a of Iℓ simultaneously (CRT). GCD: hℓ+1(x) = (g(x), xp − x) mod Iℓ.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 28 / 33

slide-129
SLIDE 129

Deterministic Algorithm

Initialization: h0(x) := (f (x), xp − x) mod p. I0 := h0(x0). deg(I0) = deg(h0)= count on roots mod p. Intermediate Step: Let Iℓ = h0(x0), h1(x0, x1), . . . , hℓ(x0, . . . , xℓ). deg(Iℓ) := degxi hi The split ideal Iℓ splits as Iℓ = x0 − a0, x1 − a1, . . . , xℓ − aℓ. Shift: g(x) := f (x0 + px1 + . . . + pℓxℓ + pℓ+1x) mod Iℓ The reduction f (x0 + px1 + . . . + pℓxℓ + pℓ+1x) mod Iℓ can be seen as performing shift by all the roots ¯ a of Iℓ simultaneously (CRT). GCD: hℓ+1(x) = (g(x), xp − x) mod Iℓ. Update: Iℓ+1 := Iℓ + hℓ+1.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 28 / 33

slide-130
SLIDE 130

Deterministic Algorithm

Initialization: h0(x) := (f (x), xp − x) mod p. I0 := h0(x0). deg(I0) = deg(h0)= count on roots mod p. Intermediate Step: Let Iℓ = h0(x0), h1(x0, x1), . . . , hℓ(x0, . . . , xℓ). deg(Iℓ) := degxi hi The split ideal Iℓ splits as Iℓ = x0 − a0, x1 − a1, . . . , xℓ − aℓ. Shift: g(x) := f (x0 + px1 + . . . + pℓxℓ + pℓ+1x) mod Iℓ The reduction f (x0 + px1 + . . . + pℓxℓ + pℓ+1x) mod Iℓ can be seen as performing shift by all the roots ¯ a of Iℓ simultaneously (CRT). GCD: hℓ+1(x) = (g(x), xp − x) mod Iℓ. Update: Iℓ+1 := Iℓ + hℓ+1. In the end, all ideals implicitly store all the roots of f mod pk.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 28 / 33

slide-131
SLIDE 131

Time Complexity

Why the deterministic algorithm is efficient?

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 29 / 33

slide-132
SLIDE 132

Time Complexity

Why the deterministic algorithm is efficient? The deterministic algorithm virtually creates a Roots-Tree:

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 29 / 33

slide-133
SLIDE 133

Time Complexity

Why the deterministic algorithm is efficient? The deterministic algorithm virtually creates a Roots-Tree: f (x) I0,0 I0,1 I0,2 I1,2 D ∗ ∗ ∗ ∗ h0,0 h0,1 h0,2 h1,0 h1,1 h1,2 h2,0 h2,1

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 29 / 33

slide-134
SLIDE 134

Time Complexity

Consider a Node N labelled by split ideal I.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 30 / 33

slide-135
SLIDE 135

Time Complexity

Consider a Node N labelled by split ideal I. For all ¯ a ∈ Z(I), [N] := deg(I)× degree of the node N¯

a in [BLQ’ 13] tree.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 30 / 33

slide-136
SLIDE 136

Time Complexity

Consider a Node N labelled by split ideal I. For all ¯ a ∈ Z(I), [N] := deg(I)× degree of the node N¯

a in [BLQ’ 13] tree.

Degree of a node distributes to degree of its children.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 30 / 33

slide-137
SLIDE 137

Time Complexity

Consider a Node N labelled by split ideal I. For all ¯ a ∈ Z(I), [N] := deg(I)× degree of the node N¯

a in [BLQ’ 13] tree.

Degree of a node distributes to degree of its children. Inductively, it yields that degree of root deg(f ) is at least sum of the degrees of the leaves.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 30 / 33

slide-138
SLIDE 138

Time Complexity

Consider a Node N labelled by split ideal I. For all ¯ a ∈ Z(I), [N] := deg(I)× degree of the node N¯

a in [BLQ’ 13] tree.

Degree of a node distributes to degree of its children. Inductively, it yields that degree of root deg(f ) is at least sum of the degrees of the leaves. Similar to the randomized root tree, the size of the deterministic root tree is polynomial in input size.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 30 / 33

slide-139
SLIDE 139

Overview

1

Introduction

2

The Problem

3

Randomized Algorithm

4

Challenges in Derandomization

5

A Deterministic Algorithm

6

Conclusion and Open Questions

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 31 / 33

slide-140
SLIDE 140

Conclusion

Our algorithm extends to exactly count basic irreducible factors of f mod pk.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 32 / 33

slide-141
SLIDE 141

Conclusion

Our algorithm extends to exactly count basic irreducible factors of f mod pk. Recently, D., Mittal, Saxena [ISSAC’ 19] gave a randomized poly-time algorithm to factor f mod pk for k ≤ 4.

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 32 / 33

slide-142
SLIDE 142

Conclusion

Our algorithm extends to exactly count basic irreducible factors of f mod pk. Recently, D., Mittal, Saxena [ISSAC’ 19] gave a randomized poly-time algorithm to factor f mod pk for k ≤ 4. Open: Testing irreducibility of f mod pk in deterministic (even randomized) poly-time?

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 32 / 33

slide-143
SLIDE 143

Conclusion

Our algorithm extends to exactly count basic irreducible factors of f mod pk. Recently, D., Mittal, Saxena [ISSAC’ 19] gave a randomized poly-time algorithm to factor f mod pk for k ≤ 4. Open: Testing irreducibility of f mod pk in deterministic (even randomized) poly-time? Questions?

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 32 / 33

slide-144
SLIDE 144

Thank You for your attention!

Ashish Dwivedi (IIT Kanpur) Root counting modulo prime powers 33 / 33