Reducing number field defining polynomials: An application to class - - PowerPoint PPT Presentation

reducing number field defining polynomials an application
SMART_READER_LITE
LIVE PREVIEW

Reducing number field defining polynomials: An application to class - - PowerPoint PPT Presentation

Overview on class groups Reducing the defining polynomial Reducing number field defining polynomials: An application to class group computations Alexandre Glin Laboratoire dInformatique de Paris 6, UPMC, Sorbonne Universits 09/11/2016


slide-1
SLIDE 1

Overview on class groups Reducing the defining polynomial

Reducing number field defining polynomials: An application to class group computations

Alexandre Gélin

Laboratoire d’Informatique de Paris 6, UPMC, Sorbonne Universités

09/11/2016

Alexandre Gélin Reducing number field defining polynomials

slide-2
SLIDE 2

Overview on class groups Reducing the defining polynomial

Number fields

K number field ⇒ finite extension of Q ⇒ ∃T ∈ Z[X] monic s.t. K = Q[X]/(T). T is a defining polynomial of K.

Alexandre Gélin Reducing number field defining polynomials

slide-3
SLIDE 3

Overview on class groups Reducing the defining polynomial

Number fields

K number field ⇒ finite extension of Q ⇒ ∃T ∈ Z[X] monic s.t. K = Q[X]/(T). T is a defining polynomial of K. Two interesting structures: Group of ideals Group of units

Alexandre Gélin Reducing number field defining polynomials

slide-4
SLIDE 4

Overview on class groups Reducing the defining polynomial

Number fields

K number field ⇒ finite extension of Q ⇒ ∃T ∈ Z[X] monic s.t. K = Q[X]/(T). T is a defining polynomial of K. Two interesting structures: Group of ideals Quotient by principal ideals ⇒ class group Cl(OK) Group of units Finitely generated ⇒ fundamental units

Alexandre Gélin Reducing number field defining polynomials

slide-5
SLIDE 5

Overview on class groups Reducing the defining polynomial

Number fields

K number field ⇒ finite extension of Q ⇒ ∃T ∈ Z[X] monic s.t. K = Q[X]/(T). T is a defining polynomial of K. Two interesting structures: Group of ideals Quotient by principal ideals ⇒ class group Cl(OK) Group of units Finitely generated ⇒ fundamental units Aim: Compute the structure of the class group.

Alexandre Gélin Reducing number field defining polynomials

slide-6
SLIDE 6

Overview on class groups Reducing the defining polynomial State of the art General strategy for computation

Outline

1

Overview on class groups State of the art General strategy for computation

2

Reducing the defining polynomial Theoretical results Our algorithm

Alexandre Gélin Reducing number field defining polynomials

slide-7
SLIDE 7

Overview on class groups Reducing the defining polynomial State of the art General strategy for computation

Subexponential L-notation :

LN (0, c) ≈ (log N)c LN (1, c) ≈ Nc LN (α, c) = exp

  • (c + o(1))(log N)α(log log N)1−α

.

1969 Shanks: quadratic number fields in O(|∆K|

1 5 ).

1989 Hafner and McCurley: imaginary quadratic number fields in L|∆K|( 1

2,

√ 2). 1990 Buchmann: all number fields with fixed degree in L|∆K|( 1

2, 1.7).

2014 Biasse and Fieker: all number fields in L|∆K|( 2

3 + ε) in general

and L|∆K|( 1

2) if n ≤ log(|∆K|)3/4−ε.

2014 Biasse and Fieker: number fields defined by a good polynomial in L|∆K|(a), 1

3 ≤ a < 1 2.

Alexandre Gélin Reducing number field defining polynomials

slide-8
SLIDE 8

Overview on class groups Reducing the defining polynomial State of the art General strategy for computation

Index calculus

1 Factor base

Fix a factor base composed of small elements.

2 Relation collection

Collect some relations between those small elements, corresponding to linear equations.

3 Linear algebra

Deduce the sought result performing linear algebra on the system built.

Alexandre Gélin Reducing number field defining polynomials

slide-9
SLIDE 9

Overview on class groups Reducing the defining polynomial State of the art General strategy for computation

The factor base

B = {prime ideals in OK of norm below B} B determined so that B generates the whole class group. Minkowski’s bound: every class contains an ideal of norm smaller than MK =

  • |∆K|

4 π r2 n! nn . Bach’s bound: assuming GRH, classes of ideals of norm less than 12(log |∆K|)2 generate the class group.

Alexandre Gélin Reducing number field defining polynomials

slide-10
SLIDE 10

Overview on class groups Reducing the defining polynomial State of the art General strategy for computation

The factor base

B = {prime ideals in OK of norm below B} B determined so that B generates the whole class group. Minkowski’s bound: every class contains an ideal of norm smaller than MK =

  • |∆K|

4 π r2 n! nn . Bach’s bound: assuming GRH, classes of ideals of norm less than 12(log |∆K|)2 generate the class group. Practically B = L|∆K|(β, cb).

Alexandre Gélin Reducing number field defining polynomials

slide-11
SLIDE 11

Overview on class groups Reducing the defining polynomial State of the art General strategy for computation

Relation collection

B = (p1, · · · , pN) Surjective morphism: ZN

φ

− → I

π

− → Cl(OK) (e1, · · · , eN) − →

  • i pei

i

− →

  • i[pi]ei

Cl(OK) ≃ ZN/

  • (e1, · · · , eN) ∈ ZN |

i pei i = (α)OK

  • Alexandre Gélin

Reducing number field defining polynomials

slide-12
SLIDE 12

Overview on class groups Reducing the defining polynomial State of the art General strategy for computation

Relation collection

B = (p1, · · · , pN) Surjective morphism: ZN

φ

− → I

π

− → Cl(OK) (e1, · · · , eN) − →

  • i pei

i

− →

  • i[pi]ei

Cl(OK) ≃ ZN/

  • (e1, · · · , eN) ∈ ZN |

i pei i = (α)OK

  • Idea:

1 Pick at random A =

i pvi i .

2 Find a reduced ideal A′ in the same class. 3 If A′ splits on B (⇔ A′ =

i pv′

i

i ) then

A(A′)−1 =

i pvi−v′

i

i

is principal.

Alexandre Gélin Reducing number field defining polynomials

slide-13
SLIDE 13

Overview on class groups Reducing the defining polynomial State of the art General strategy for computation

Linear algebra

Relations stored in a matrix of size about N × N. Structure of the class group given by the Smith Normal Form

  • f the matrix.

First compute Hermite Normal Form with a premultiplier because we need kernel vectors. Storjohann and Labahn algorithm, runtime in Nω+1 (2 ≤ ω ≤ 3 exponent of matrix multiplication)

Alexandre Gélin Reducing number field defining polynomials

slide-14
SLIDE 14

Overview on class groups Reducing the defining polynomial State of the art General strategy for computation

Verification

We find a tentative class group H, but the class group Cl(OK) may be only a quotient of H. ⇒ Need an approximation of the class number hK = |Cl(OK)|.

Alexandre Gélin Reducing number field defining polynomials

slide-15
SLIDE 15

Overview on class groups Reducing the defining polynomial State of the art General strategy for computation

Verification

We find a tentative class group H, but the class group Cl(OK) may be only a quotient of H. ⇒ Need an approximation of the class number hK = |Cl(OK)|. Class number formula + Euler Product: hKRegK = EP · wK ·

  • |∆K|

2r1 · (2π)r2 .

Alexandre Gélin Reducing number field defining polynomials

slide-16
SLIDE 16

Overview on class groups Reducing the defining polynomial State of the art General strategy for computation

Verification

We find a tentative class group H, but the class group Cl(OK) may be only a quotient of H. ⇒ Need an approximation of the class number hK = |Cl(OK)|. Class number formula + Euler Product: hKRegK = EP · wK ·

  • |∆K|

2r1 · (2π)r2 . From the relations, we can also deduce a candidate for an approximation of RegK and perform the verification step.

Alexandre Gélin Reducing number field defining polynomials

slide-17
SLIDE 17

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Outline

1

Overview on class groups State of the art General strategy for computation

2

Reducing the defining polynomial Theoretical results Our algorithm

Alexandre Gélin Reducing number field defining polynomials

slide-18
SLIDE 18

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

What is a good polynomial ?

We want a polynomial that defines a fixed number field: The degree is fixed, We want the coefficients as small as possible.

Alexandre Gélin Reducing number field defining polynomials

slide-19
SLIDE 19

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

What is a good polynomial ?

We want a polynomial that defines a fixed number field: The degree is fixed, We want the coefficients as small as possible. Definition Let T = akXk ∈ Z[X]. The height of T is defined as the maximal norm of its coefficients, namely H(T) = max

k

|ak|.

Alexandre Gélin Reducing number field defining polynomials

slide-20
SLIDE 20

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

What is a good polynomial ?

We want a polynomial that defines a fixed number field: The degree is fixed, We want the coefficients as small as possible. Definition Let T = akXk ∈ Z[X]. The height of T is defined as the maximal norm of its coefficients, namely H(T) = max

k

|ak|. Proposition For every defining polynomial T of a degree-n number field K, the discriminants satisfy |∆K| ≤ |∆(T)| ≤ n2nH(T)2n−2.

Alexandre Gélin Reducing number field defining polynomials

slide-21
SLIDE 21

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Classes from Biasse and Fieker work

Definition Let n0, d0 > 0 and 0 < α < 1

2.

Cn0,d0,α =

  • K = Q[X]/(T)
  • deg(T) = n0(log |∆K|)α(1 + o(1))

log H(T) = d0(log |∆K|)1−α(1 + o(1))

  • Theorem

There exists an L|∆K|(a) algorithm for class group computation for a = max

  • α, 1 − α

2

  • .

Alexandre Gélin Reducing number field defining polynomials

slide-22
SLIDE 22

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Minimal height

If K ∈ Cn0,d0,α, there exists T such that H(T) = |∆K|

κ n ,

with κ = n0d0(1 + o(1)).

Alexandre Gélin Reducing number field defining polynomials

slide-23
SLIDE 23

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Minimal height

If K ∈ Cn0,d0,α, there exists T such that H(T) = |∆K|

κ n ,

with κ = n0d0(1 + o(1)). Proposition For every number field K, there exists a defining polynomial T s.t. H(T) ≤ 3n |∆K| n

  • n

2n−2

.

Alexandre Gélin Reducing number field defining polynomials

slide-24
SLIDE 24

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Minimal height

If K ∈ Cn0,d0,α, there exists T such that H(T) = |∆K|

κ n ,

with κ = n0d0(1 + o(1)). Proposition For every number field K, there exists a defining polynomial T s.t. H(T) ≤ 3n |∆K| n

  • n

2n−2

. Definition Let n0, d0 > 0, 0 < α < 1 and 1 − α ≤ γ ≤ 1.

Dn0,d0,α,γ =

  • K = Q[X]

(T)

  • deg(T) ≤ n0
  • log |∆K|

log log |∆K|

α log H(T) ≤ d0(log |∆K|)γ(log log |∆K|)1−γ

  • Alexandre Gélin

Reducing number field defining polynomials

slide-25
SLIDE 25

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Minimal height

If K ∈ Cn0,d0,α, there exists T such that H(T) = |∆K|

κ n ,

with κ = n0d0(1 + o(1)). Proposition For every number field K, there exists a defining polynomial T s.t. H(T) ≤ 3n |∆K| n

  • n

2n−2

. Definition Let n0, d0 > 0, 0 < α < 1 and 1 − α ≤ γ ≤ 1.

Dn0,d0,α,γ =

  • K = Q[X]

(T)

  • deg(T) ≤ n0
  • log |∆K|

log log |∆K|

α log H(T) ≤ d0(log |∆K|)γ(log log |∆K|)1−γ

  • Every number field belongs to such a class Dn0,d0,α,γ.

Alexandre Gélin Reducing number field defining polynomials

slide-26
SLIDE 26

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Prior reduction algorithm

Cohen and Diaz y Diaz minimize the size of T = (X − τj), defined as S(T) =

  • |τj|2.

Equivalent to find a short vector in the lattice OK, because OK is generated by the vectors [σ1(τj), · · · , σn(τj)] Examples: Input Output x3 − 5955x2 + 18142x − 607593 x3 − x2 − 2100x + 38117 x3 − 269463x2 + 752031x − 518157 x3 − x2 − 1307x − 13359 x3 − 482665x2 + 773338x − 308749 x3 − x2 − 3210x + 61325 x3 − 456191x2 + 958783x − 499681 x3 − x2 − 936x − 7616

Alexandre Gélin Reducing number field defining polynomials

slide-27
SLIDE 27

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Prior reduction algorithm

Cohen and Diaz y Diaz minimize the size of T = (X − τj), defined as S(T) =

  • |τj|2.

Equivalent to find a short vector in the lattice OK, because OK is generated by the vectors [σ1(τj), · · · , σn(τj)] Examples: Input Output x3 + 6381x2 + 4378x − 1216 x3 − x2 − 3537064x + 2193757452 x3 − 9681x2 − 5434x − 6901 x3 − 31246021x − 67226458585 x3 − 6665x2 − 4318x − 2977 x3 + 336681x − 419200237 x3 − 6018x2 − 1387x + 6161 x3 − 12073495x − 16147208593

Alexandre Gélin Reducing number field defining polynomials

slide-28
SLIDE 28

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Our algorithm

Goal: Find the monic polynomial TF of minimal height defining K.

Alexandre Gélin Reducing number field defining polynomials

slide-29
SLIDE 29

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Our algorithm

Goal: Find the monic polynomial TF of minimal height defining K. Idea: Introduce weighted lattices and look for small vectors in them.

Alexandre Gélin Reducing number field defining polynomials

slide-30
SLIDE 30

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Our algorithm

Goal: Find the monic polynomial TF of minimal height defining K. Idea: Introduce weighted lattices and look for small vectors in them. Let θF root of TF ← → v(θF ) = [σ1(θF ), · · · , σn(θF )] ∈ OK.

Alexandre Gélin Reducing number field defining polynomials

slide-31
SLIDE 31

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Our algorithm

Goal: Find the monic polynomial TF of minimal height defining K. Idea: Introduce weighted lattices and look for small vectors in them. Let θF root of TF ← → v(θF ) = [σ1(θF ), · · · , σn(θF )] ∈ OK. Let c > 1 and bF = [bF

1 , · · · , bF n ] defined by bF j = ⌈logc |σj(θF )|⌉.

We introduce a weighted copy of OK in Cn, generated by:

  • Ωi =

σ1(ωi) cbF

1

, · · · , σn(ωi) cbF

n

  • .

Alexandre Gélin Reducing number field defining polynomials

slide-32
SLIDE 32

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Our algorithm

Goal: Find the monic polynomial TF of minimal height defining K. Idea: Introduce weighted lattices and look for small vectors in them. Let θF root of TF ← → v(θF ) = [σ1(θF ), · · · , σn(θF )] ∈ OK. Let c > 1 and bF = [bF

1 , · · · , bF n ] defined by bF j = ⌈logc |σj(θF )|⌉.

We introduce a weighted copy of OK in Cn, generated by:

  • Ωi =

σ1(ωi) cbF

1

, · · · , σn(ωi) cbF

n

  • .

By construction, |˜ v(θF )i| ≤ 1 and ˜ v(θF )2 ≤ √n.

Alexandre Gélin Reducing number field defining polynomials

slide-33
SLIDE 33

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Differences between the two algorithms

Shape of the vectors found by the algorithm of Cohen: Shape of the vectors we find: As the constant coefficient of the polynomial is the product of all the roots, we prefer vectors of the second family.

Alexandre Gélin Reducing number field defining polynomials

slide-34
SLIDE 34

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Final results

If K ∈ Dn0,d0,α,γ, we find the minimal defining polynomial T in time L|∆K|(α).

Alexandre Gélin Reducing number field defining polynomials

slide-35
SLIDE 35

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Final results

If K ∈ Dn0,d0,α,γ, we find the minimal defining polynomial T in time L|∆K|(α). If γ = 1 − α, we can apply the algorithm of Biasse and Fieker and find the class group in L|∆K|(a), a = max

  • α, 1−α

2

  • .

Alexandre Gélin Reducing number field defining polynomials

slide-36
SLIDE 36

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Final results

If K ∈ Dn0,d0,α,γ, we find the minimal defining polynomial T in time L|∆K|(α). If γ = 1 − α, we can apply the algorithm of Biasse and Fieker and find the class group in L|∆K|(a), a = max

  • α, 1−α

2

  • .

Theorem Under GRH and smoothness heuristics, for every K ∈ Dn0,d0,α,γ, α < 1

2, there exists an L∆K(a) algorithm for class group computation

with a = max

  • α, γ

2

  • .

Alexandre Gélin Reducing number field defining polynomials

slide-37
SLIDE 37

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

State of the art [BF14]

General case: L|∆K| 1

2

  • L|∆K|

2

3 + ε

  • a

1 3 1 2 2 3 1 4 1 3 1 2 2 3 3 4

1 α First general subexponential algorithm.

Alexandre Gélin Reducing number field defining polynomials

slide-38
SLIDE 38

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

State of the art [BF14]

Special case: L|∆K| 1

2

  • L|∆K|

2

3 + ε

  • L|∆K|
  • max(α, 1−α

2 )

  • a

1 3 1 2 2 3 1 4 1 3 1 2 2 3 3 4

1 α Only if K is defined by T such that H(T) = L|∆K| (1 − α).

Alexandre Gélin Reducing number field defining polynomials

slide-39
SLIDE 39

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

This work

General case: depending on γ L|∆K|

  • max(α, γ

2)

  • a

1 3 1 2 2 3 1 4 1 3 1 2 2 3 3 4

1 α Without any condition.

Alexandre Gélin Reducing number field defining polynomials

slide-40
SLIDE 40

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Practically

K is defined by the polynomial

x5−2x4−8001397580x3−31542753393650x2+3636653302451131875x+4818547529425280067500

. Magma V2.22-2 finds the class group – assuming GRH – in about 285 seconds. With our implementation, we reduce this defining polynomial to T = x5 − 5843635x4 + 931633x2 + 6577x − 8570.

Alexandre Gélin Reducing number field defining polynomials

slide-41
SLIDE 41

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Practically

K is defined by the polynomial

x5−2x4−8001397580x3−31542753393650x2+3636653302451131875x+4818547529425280067500

. Magma V2.22-2 finds the class group – assuming GRH – in about 285 seconds. With our implementation, we reduce this defining polynomial to T = x5 − 5843635x4 + 931633x2 + 6577x − 8570. Magma V2.19-10 has class group computation not as optimized as in V2.22, but works with the input polynomial: with T: about 140 seconds, with the “reduced” one: about 3240 seconds.

Alexandre Gélin Reducing number field defining polynomials

slide-42
SLIDE 42

Overview on class groups Reducing the defining polynomial Theoretical results Our algorithm

Thanks

Merci

Alexandre Gélin Reducing number field defining polynomials