Finding optimal Chudnovsky-Chudnovsky multiplication algorithms - - PowerPoint PPT Presentation

finding optimal chudnovsky chudnovsky multiplication
SMART_READER_LITE
LIVE PREVIEW

Finding optimal Chudnovsky-Chudnovsky multiplication algorithms - - PowerPoint PPT Presentation

Finding optimal Chudnovsky-Chudnovsky multiplication algorithms Matthieu Rambaud Telecom ParisTech, Paris, France WAIFI 2014, Gebze September 27, 2014 Can one do better ? A trick Total : 4 multiplications Matthieu Rambaud Optimal ChCh


slide-1
SLIDE 1

Finding optimal Chudnovsky-Chudnovsky multiplication algorithms

Matthieu Rambaud Telecom ParisTech, Paris, France WAIFI 2014, Gebze September 27, 2014

slide-2
SLIDE 2

A trick

Compute (ax + b)(cx + d) = a•cx2 + (a•d + b•c)x + b•d Total : 4 multiplications

Can one do better ?

Matthieu Rambaud – Optimal ChCh algorithms WAIFI 2014, Gebze

  • Sept. 27, 2014

1 / 14

slide-3
SLIDE 3

A trick

Compute (ax + b)(cx + d) = a•cx2 + (a•d + b•c)x + b•d Total : 4 multiplications

Can one do better ?

Matthieu Rambaud – Optimal ChCh algorithms WAIFI 2014, Gebze

  • Sept. 27, 2014

1 / 14

slide-4
SLIDE 4

A trick

Evaluate m0 = b•d m1 = (a + b)•(c + d) m∞ = a•c Then, (ax + b)(cx + d) = m∞x2 + (m1 − m0 − m∞)x + m0 Total : 3 multiplications

Matthieu Rambaud – Optimal ChCh algorithms WAIFI 2014, Gebze

  • Sept. 27, 2014

2 / 14

slide-5
SLIDE 5

What happened ?

Lagrange’s interpolation (over R ∪ ∞) The degree 2 polynomial P(x)=(ax+b)(cx+d) is fully determined by the 3 evaluations m0 = P(0), m1 = P(1), m∞ = P(∞).

1 ∞

Problem : only q points on Fq

Matthieu Rambaud – Optimal ChCh algorithms WAIFI 2014, Gebze

  • Sept. 27, 2014

3 / 14

slide-6
SLIDE 6

What happened ?

Lagrange’s interpolation (over R ∪ ∞) The degree 2 polynomial P(x)=(ax+b)(cx+d) is fully determined by the 3 evaluations m0 = P(0), m1 = P(1), m∞ = P(∞).

1 ∞

Problem : only q + 1 points on Fq ∪ ∞

Matthieu Rambaud – Optimal ChCh algorithms WAIFI 2014, Gebze

  • Sept. 27, 2014

3 / 14

slide-7
SLIDE 7

Ch&Ch’s interpretation

Before After set: Fq ∪ ∞ curve X = P1

Fq

(ax + b) and (cx + d): polynomials sections of D = OX(∞) evaluation on: points 0,1,∞ divisor G = [0] + [1] + [∞]

Matthieu Rambaud – Optimal ChCh algorithms WAIFI 2014, Gebze

  • Sept. 27, 2014

4 / 14

slide-8
SLIDE 8

Multiply x, y in Fqm (Ch&Ch)

L(D + D) L(D) , L(D) ∏m

i=1 Fq(Pi)

Fq(Q) x, y ∈ evQ evQ r 1 r 1 evG evG 2 mult.⊗deg(G) 3 evG s 4 5 evQ choose Q on X of degree m, fix isomorphism x, y ∈ Fqm ∼ = Fq(Q) 1 find divisor D; lift x y to fx, fy in L D . 2 find divisor G P Pn; evaluate the fx Pi and fy Pi . 3 compute the mi fx Pi fy Pi : deg G multiplications. 4 interpolate m mn to unique g L D D 5 evaluate g at Q to find the product of x and y.

slide-9
SLIDE 9

Multiply x, y in Fqm (Ch&Ch)

L(D + D) L(D) , L(D) ∏m

i=1 Fq(Pi)

Fq(Q) x, y ∈ evQ evQ r 1 r 1 evG evG 2 mult.⊗deg(G) 3 evG s 4 5 evQ choose Q on X of degree m, fix isomorphism x, y ∈ Fqm ∼ = Fq(Q) 1 find divisor D; lift x, y to fx, fy in L(D). 2 find divisor G P Pn; evaluate the fx Pi and fy Pi . 3 compute the mi fx Pi fy Pi : deg G multiplications. 4 interpolate m mn to unique g L D D 5 evaluate g at Q to find the product of x and y.

slide-10
SLIDE 10

Multiply x, y in Fqm (Ch&Ch)

L(D + D) L(D) , L(D) ∏m

i=1 Fq(Pi)

Fq(Q) x, y ∈ evQ evQ r 1 r 1 evG evG 2 mult.⊗deg(G) 3 evG s 4 5 evQ choose Q on X of degree m, fix isomorphism x, y ∈ Fqm ∼ = Fq(Q) 1 find divisor D; lift x, y to fx, fy in L(D). 2 find divisor G = P1 + . . . + Pn; evaluate the fx(Pi) and fy(Pi). 3 compute the mi fx Pi fy Pi : deg G multiplications. 4 interpolate m mn to unique g L D D 5 evaluate g at Q to find the product of x and y.

slide-11
SLIDE 11

Multiply x, y in Fqm (Ch&Ch)

L(D + D) L(D) , L(D) ∏m

i=1 Fq(Pi)

Fq(Q) x, y ∈ evQ evQ r 1 r 1 evG evG 2 mult.⊗deg(G) 3 evG s 4 5 evQ choose Q on X of degree m, fix isomorphism x, y ∈ Fqm ∼ = Fq(Q) 1 find divisor D; lift x, y to fx, fy in L(D). 2 find divisor G = P1 + . . . + Pn; evaluate the fx(Pi) and fy(Pi). 3 compute the mi = fx(Pi)•fy(Pi) : deg G multiplications. 4 interpolate m mn to unique g L D D 5 evaluate g at Q to find the product of x and y.

slide-12
SLIDE 12

Multiply x, y in Fqm (Ch&Ch)

L(D + D) L(D) , L(D) ∏m

i=1 Fq(Pi)

Fq(Q) x, y ∈ evQ evQ r 1 r 1 evG evG 2 mult.⊗deg(G) 3 evG s 4 5 evQ choose Q on X of degree m, fix isomorphism x, y ∈ Fqm ∼ = Fq(Q) 1 find divisor D; lift x, y to fx, fy in L(D). 2 find divisor G = P1 + . . . + Pn; evaluate the fx(Pi) and fy(Pi). 3 compute the mi = fx(Pi)•fy(Pi) : deg G multiplications. 4 interpolate [m1, · · · , mn] to unique g ∈ L(D + D) 5 evaluate g at Q to find the product of x and y.

slide-13
SLIDE 13

Multiply x, y in Fqm (Ch&Ch)

L(D + D) L(D) , L(D) ∏m

i=1 Fq(Pi)

Fq(Q) x, y ∈ evQ evQ r 1 r 1 evG evG 2 mult.⊗deg(G) 3 evG s 4 5 evQ choose Q on X of degree m, fix isomorphism x, y ∈ Fqm ∼ = Fq(Q) 1 find divisor D; lift x, y to fx, fy in L(D). 2 find divisor G = P1 + . . . + Pn; evaluate the fx(Pi) and fy(Pi). 3 compute the mi = fx(Pi)•fy(Pi) : deg G multiplications. 4 interpolate [m1, · · · , mn] to unique g ∈ L(D + D) 5 evaluate g at Q to find the product of x and y.

slide-14
SLIDE 14

Need more interpolation data ?

Before After Evaluation in: degree(Pi) : 1 d 1

Fqd

”fx(Pi)” : value fx(Pi) derivatives of fx at Pi up to l 0

Fq[y] yl

…Both :

Fqd[y] yl

Matthieu Rambaud – Optimal ChCh algorithms WAIFI 2014, Gebze

  • Sept. 27, 2014

6 / 14

slide-15
SLIDE 15

Putting things together

Note µsym

q

(d, l) the bilinear complexity of the multiplication in

Fqd[y] yl

. Complexity of the algorithm [Randriam 2012, see Th. 2] X a curve of genus g over Fq, Q a point of degree m, D a divisor, G := l1P1 + · · · lnPn [with deg Pi = di], and suppose (G, D, Q) ”suitable for interpolation”. Then :

µsym

q

(m) ∑n

i=1 µsym q

(di, li)

weighted degree of G

Matthieu Rambaud – Optimal ChCh algorithms WAIFI 2014, Gebze

  • Sept. 27, 2014

7 / 14

slide-16
SLIDE 16

Find suitable (G, D, Q), G of smallest weighted degree

slide-17
SLIDE 17

Lowering the weights

Table: New lower−upper bounds on the µsym

2

(d, l) [see R., §2] l \ d 1 2 3 4 5 6 7 8 9 10 1 1 3 6 9 13 15 16−22 −24 −30 −33 2 3 9 16 −24 . . . . . . 3 5 15 −30 . . . . . . . 4 8 −21 . . . . . . . . 5 11 . . . . . . . . . 6 14 . . . . . . . . . 7 16−18 . . . . . . . . . 8 −22 . . . . . . . . . 9 −27 . . . . . . . . . 10 −30 . . . . . . . . .

slide-18
SLIDE 18

(G, D, Q),G of smallest degree?

Best expectable (G, D, Q) [see R., Prop. 8 & 10] X a curve of genus g. Assume m > g. Then : criterion for (G, D, Q) being ”suitable for interpolation on Fqm” depends only on the classes

  • f G, D, Q in Cl(X). When the case :
  • 1. deg G 2m + g − 1
  • 2. …and if this lower bound attained, then deg D = m + g − 1.

Matthieu Rambaud – Optimal ChCh algorithms WAIFI 2014, Gebze

  • Sept. 27, 2014

10 / 14

slide-19
SLIDE 19

Example [see 4.2]

Multiplication in F2m, m = 163 : Step 0 : find a curve X having a divisor G of smallest weighted degree, under the constraint deg G 2m + g − 1 = 331 (condition 1.). → Exhaustive search on the X0(N) …Winner : X0(71), with a G of weighted degree 900.

!

G is not necessarily part of a suitable (G, D, Q)

Matthieu Rambaud – Optimal ChCh algorithms WAIFI 2014, Gebze

  • Sept. 27, 2014

11 / 14

slide-20
SLIDE 20

Example [see 4.2]

class group : Cl(X0(71)) ∼ Z/315Z × Z, generators : (D1, D2). Step 1 : Choose a G on X of weighted degree 900. Step 2 deg D must be m + g − 1 = 168 → Loop over the classes : D := i ∗ D1 + 168 ∗ D2, until l(2D − G) = 0 [Theorem 2, condition (i’)]. → Success for i = 2.

Step 3 : Loop over the classes of random Q of degree m, until l(D − Q) = 0 [Theorem 2, condition (ii’) & Footnote 16] → Success at first attempt.

→ 900 is a new upper bound for the multiplication in F2163.

Matthieu Rambaud – Optimal ChCh algorithms WAIFI 2014, Gebze

  • Sept. 27, 2014

12 / 14

slide-21
SLIDE 21

Search on the curves X0(N), N = 0 . . . 1000 −

→ new bounds:

Table: New upper bounds on µsym

2

(m), sorted by the genus of curves used

m\g 1 (ECs) 2 3 4 5 6 163 905 903 901 . . 900 233 1339 1336 . 1335 . . 283 1661 1660 . 1654 . . 409 2492 2491 . 2486 . . 571 3562 3561 3560 3555 . .

Matthieu Rambaud – Optimal ChCh algorithms WAIFI 2014, Gebze

  • Sept. 27, 2014

13 / 14

slide-22
SLIDE 22

HIDDEN QUESTION : points in every class ?

…see footnotes 17 & 21