improvements to ideal class group and regulator
play

Improvements to ideal class group and regulator computation in real - PowerPoint PPT Presentation

Outline Introduction Classical Algorithms Practical improvements Improvements to ideal class group and regulator computation in real quadratic number fields cois Biasse 1 , Michael J. Jacobson Jr 2 Jean-Fran 1 Ecole polytechnique, 2


  1. Outline Introduction Classical Algorithms Practical improvements Complexity We define the subexponential function by L ∆ ( α, β ) = e β log | ∆ | α log log | ∆ | 1 − α . 10/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  2. Outline Introduction Classical Algorithms Practical improvements Complexity We define the subexponential function by L ∆ ( α, β ) = e β log | ∆ | α log log | ∆ | 1 − α . For α ∈ [0 , 1], L ∆ ( α, β ) is between exponential and polynomial in log | ∆ | since L ∆ (0 , β ) = log | ∆ | β , L ∆ (1 , β ) = | ∆ | β . 10/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  3. Outline Introduction Classical Algorithms Practical improvements Complexity We define the subexponential function by L ∆ ( α, β ) = e β log | ∆ | α log log | ∆ | 1 − α . For α ∈ [0 , 1], L ∆ ( α, β ) is between exponential and polynomial in log | ∆ | since L ∆ (0 , β ) = log | ∆ | β , L ∆ (1 , β ) = | ∆ | β . Our problems for qudratic number fields have complexity L ∆ (1 / 2 , c ) , where c depends on the linear algebra phase. 10/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  4. Outline Introduction Classical Algorithms Practical improvements The factor base We fill the factor base with invertible prime ideals p . There is p prime such that p ∩ Z = ( p ) and N ( p ) = p . 11/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  5. Outline Introduction Classical Algorithms Practical improvements The factor base We fill the factor base with invertible prime ideals p . There is p prime such that p ∩ Z = ( p ) and N ( p ) = p . Let B a bound, we define B := { p invertible prime | N ( p ) ≤ B } = { p 1 , . . . , p N } . 11/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  6. Outline Introduction Classical Algorithms Practical improvements The factor base We fill the factor base with invertible prime ideals p . There is p prime such that p ∩ Z = ( p ) and N ( p ) = p . Let B a bound, we define B := { p invertible prime | N ( p ) ≤ B } = { p 1 , . . . , p N } . Under ERH, if B > 6 log 2 | ∆ | , then B generates Cl (∆), and the lattice L of the relations satisfies Cl (∆) ≃ Z N / L . 11/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  7. Outline Introduction Classical Algorithms Practical improvements The factor base We fill the factor base with invertible prime ideals p . There is p prime such that p ∩ Z = ( p ) and N ( p ) = p . Let B a bound, we define B := { p invertible prime | N ( p ) ≤ B } = { p 1 , . . . , p N } . Under ERH, if B > 6 log 2 | ∆ | , then B generates Cl (∆), and the lattice L of the relations satisfies Cl (∆) ≃ Z N / L . We have ( a is B -smooth) ⇔ ( N ( a ) is B -smooth). 11/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  8. Outline Introduction Classical Algorithms Practical improvements Hermite Normal Form Invertible operations on rows lead to the Hermite Normal Form H of M :   h 1 , 1 . . . 0   . . ... (0) . .   . .     ∗ . . . h l , l       H = ,  1 (0)    ...   ( ∗ )     (0) 1     (0) where ∀ i > j : 0 ≤ h ij < h jj . 12/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  9. Outline Introduction Classical Algorithms Practical improvements Hermite Normal Form Invertible operations on rows lead to the Hermite Normal Form H of M :   h 1 , 1 . . . 0   . . ... (0) . .   . .     ∗ . . . h l , l       H = ,  1 (0)    ...   ( ∗ )     (0) 1     (0) where ∀ i > j : 0 ≤ h ij < h jj . Upper left : Essential part 12/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  10. Outline Introduction Classical Algorithms Practical improvements Smith Normal Form (SNF) and class group structure Any matrix A ∈ Z n × n with non zero determinant can be written as :   d 1 0 . . . 0 . ...   . 0 d 2 .   A = V − 1 U − 1   . ... ...  .  . 0   0 . . . 0 d n where ∀ i such that 1 ≤ i < n : d i +1 | d i . 13/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  11. Outline Introduction Classical Algorithms Practical improvements Smith Normal Form (SNF) and class group structure Any matrix A ∈ Z n × n with non zero determinant can be written as :   d 1 0 . . . 0 . ...   . 0 d 2 .   A = V − 1 U − 1   . ... ...  .  . 0   0 . . . 0 d n where ∀ i such that 1 ≤ i < n : d i +1 | d i . If ( d i ) are the diagonal coefficients of the SNF of the essential part of H then � Cl (∆) = ( Z / d i Z ) 1 ≤ i ≤ n 13/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  12. Outline Introduction Classical Algorithms Practical improvements Computing the HNF in practice Several implementation of HNF algorithm exist : Pari, Kash, Sage, Magma, NTL ... We used an NTL/Linbox-based strategy. 14/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  13. Outline Introduction Classical Algorithms Practical improvements Computing the HNF in practice Several implementation of HNF algorithm exist : Pari, Kash, Sage, Magma, NTL ... We used an NTL/Linbox-based strategy. Let M ∈ Z N ′ × N be the relation matrix. 1 Extract two random N × N full-rank submatrices M 1 and M 2 of M . 14/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  14. Outline Introduction Classical Algorithms Practical improvements Computing the HNF in practice Several implementation of HNF algorithm exist : Pari, Kash, Sage, Magma, NTL ... We used an NTL/Linbox-based strategy. Let M ∈ Z N ′ × N be the relation matrix. 1 Extract two random N × N full-rank submatrices M 1 and M 2 of M . 2 Compute h 1 ← det( M 1 ) and h 2 ← det( M 2 ) with function det of linbox. 14/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  15. Outline Introduction Classical Algorithms Practical improvements Computing the HNF in practice Several implementation of HNF algorithm exist : Pari, Kash, Sage, Magma, NTL ... We used an NTL/Linbox-based strategy. Let M ∈ Z N ′ × N be the relation matrix. 1 Extract two random N × N full-rank submatrices M 1 and M 2 of M . 2 Compute h 1 ← det( M 1 ) and h 2 ← det( M 2 ) with function det of linbox. 3 Let h := gcd ( h 1 , h 2 ). It is a multiple of h ∆ . 14/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  16. Outline Introduction Classical Algorithms Practical improvements Computing the HNF in practice Several implementation of HNF algorithm exist : Pari, Kash, Sage, Magma, NTL ... We used an NTL/Linbox-based strategy. Let M ∈ Z N ′ × N be the relation matrix. 1 Extract two random N × N full-rank submatrices M 1 and M 2 of M . 2 Compute h 1 ← det( M 1 ) and h 2 ← det( M 2 ) with function det of linbox. 3 Let h := gcd ( h 1 , h 2 ). It is a multiple of h ∆ . 4 Call the implementation of DomKanTro87 modular HNF algorithm with ( M , h ). 14/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  17. Outline Introduction Classical Algorithms Practical improvements Computing the HNF in practice Several implementation of HNF algorithm exist : Pari, Kash, Sage, Magma, NTL ... We used an NTL/Linbox-based strategy. Let M ∈ Z N ′ × N be the relation matrix. 1 Extract two random N × N full-rank submatrices M 1 and M 2 of M . 2 Compute h 1 ← det( M 1 ) and h 2 ← det( M 2 ) with function det of linbox. 3 Let h := gcd ( h 1 , h 2 ). It is a multiple of h ∆ . 4 Call the implementation of DomKanTro87 modular HNF algorithm with ( M , h ). In fact MAGMA is much faster :( ⇒ room for improvement. 14/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  18. Outline Introduction Classical Algorithms Practical improvements Regulator computation Let M = ( m ij ) ∈ Z N ′ × N , be the relation matrix, B = { p 1 , . . . , p N } , and ( α i ) = p m i 1 · · · p m N 1 . 1 N 15/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  19. Outline Introduction Classical Algorithms Practical improvements Regulator computation Let M = ( m ij ) ∈ Z N ′ × N , be the relation matrix, B = { p 1 , . . . , p N } , and ( α i ) = p m i 1 · · · p m N 1 . 1 N Let X = ( x i ), i ≤ N ′ be a kernel vector of M . Then 1 · · · α x N ′ γ := α x 1 N ′ is a unit since ( γ ) = � i α x i i = (1). 15/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  20. Outline Introduction Classical Algorithms Practical improvements Regulator computation Let M = ( m ij ) ∈ Z N ′ × N , be the relation matrix, B = { p 1 , . . . , p N } , and ( α i ) = p m i 1 · · · p m N 1 . 1 N Let X = ( x i ), i ≤ N ′ be a kernel vector of M . Then 1 · · · α x N ′ γ := α x 1 N ′ is a unit since ( γ ) = � i α x i i = (1). There is n such that log | γ | = nR ∆ 15/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  21. Outline Introduction Classical Algorithms Practical improvements Regulator computation Let M = ( m ij ) ∈ Z N ′ × N , be the relation matrix, B = { p 1 , . . . , p N } , and ( α i ) = p m i 1 · · · p m N 1 . 1 N Let X = ( x i ), i ≤ N ′ be a kernel vector of M . Then 1 · · · α x N ′ γ := α x 1 N ′ is a unit since ( γ ) = � i α x i i = (1). There is n such that log | γ | = nR ∆ Each kernel vector of M yields a multiple of R ∆ . We recover R ∆ by successive real-GCD computation. 15/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  22. Outline Introduction Classical Algorithms Practical improvements 1 Introduction 2 Classical Algorithms 3 Practical improvements 16/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  23. Outline Introduction Classical Algorithms Practical improvements Relation collection via sieving √ Let a be an ideal. There is a ′ ∼ a of the form a ′ = a Z + ( b + ∆) Z . 2 17/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  24. Outline Introduction Classical Algorithms Practical improvements Relation collection via sieving √ Let a be an ideal. There is a ′ ∼ a of the form a ′ = a Z + ( b + ∆) Z . 2 Then for each x , y we have √ � � b + ∆ ∈ a ′ . γ := ax + y 2 17/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  25. Outline Introduction Classical Algorithms Practical improvements Relation collection via sieving √ Let a be an ideal. There is a ′ ∼ a of the form a ′ = a Z + ( b + ∆) Z . 2 Then for each x , y we have √ � � b + ∆ ∈ a ′ . γ := ax + y 2 (JacWil09) There is an ideal b such that ( γ ) = a ′ b (that is a · b ∼ 1) and N ( b ) = ax 2 + bxy + cy 2 . 17/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  26. Outline Introduction Classical Algorithms Practical improvements Relation collection via sieving √ Let a be an ideal. There is a ′ ∼ a of the form a ′ = a Z + ( b + ∆) Z . 2 Then for each x , y we have √ � � b + ∆ ∈ a ′ . γ := ax + y 2 (JacWil09) There is an ideal b such that ( γ ) = a ′ b (that is a · b ∼ 1) and N ( b ) = ax 2 + bxy + cy 2 . 1 Start with a := � i p e i i which is B -smooth. 17/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  27. Outline Introduction Classical Algorithms Practical improvements Relation collection via sieving √ Let a be an ideal. There is a ′ ∼ a of the form a ′ = a Z + ( b + ∆) Z . 2 Then for each x , y we have √ � � b + ∆ ∈ a ′ . γ := ax + y 2 (JacWil09) There is an ideal b such that ( γ ) = a ′ b (that is a · b ∼ 1) and N ( b ) = ax 2 + bxy + cy 2 . 1 Start with a := � i p e i i which is B -smooth. 2 Find x , y such that φ a ( x , y ) := ax 2 + bxy + cy 2 is B -smooth 17/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  28. Outline Introduction Classical Algorithms Practical improvements Relation collection via sieving √ Let a be an ideal. There is a ′ ∼ a of the form a ′ = a Z + ( b + ∆) Z . 2 Then for each x , y we have √ � � b + ∆ ∈ a ′ . γ := ax + y 2 (JacWil09) There is an ideal b such that ( γ ) = a ′ b (that is a · b ∼ 1) and N ( b ) = ax 2 + bxy + cy 2 . 1 Start with a := � i p e i i which is B -smooth. 2 Find x , y such that φ a ( x , y ) := ax 2 + bxy + cy 2 is B -smooth 3 Deduce B -smooth ideal b such that a · b ∼ 1 17/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  29. Outline Introduction Classical Algorithms Practical improvements The quadratic sieve Let φ a ( X , Y ) = aX 2 + bXY + cY 2 and B defining B . We look for B -smooth values of φ a ( X , Y ). (Jac99) : use the quadratic sieve 18/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  30. Outline Introduction Classical Algorithms Practical improvements The quadratic sieve Let φ a ( X , Y ) = aX 2 + bXY + cY 2 and B defining B . We look for B -smooth values of φ a ( X , Y ). (Jac99) : use the quadratic sieve We look for x ∈ [ − M , M ] such that φ a ( x , 1) is B -smooth. We do not want to test them all. 18/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  31. Outline Introduction Classical Algorithms Practical improvements The quadratic sieve Let φ a ( X , Y ) = aX 2 + bXY + cY 2 and B defining B . We look for B -smooth values of φ a ( X , Y ). (Jac99) : use the quadratic sieve We look for x ∈ [ − M , M ] such that φ a ( x , 1) is B -smooth. We do not want to test them all. 1 We compute the roots r p of φ a ( X , 1) mod p for p ≤ B . 18/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  32. Outline Introduction Classical Algorithms Practical improvements The quadratic sieve Let φ a ( X , Y ) = aX 2 + bXY + cY 2 and B defining B . We look for B -smooth values of φ a ( X , Y ). (Jac99) : use the quadratic sieve We look for x ∈ [ − M , M ] such that φ a ( x , 1) is B -smooth. We do not want to test them all. 1 We compute the roots r p of φ a ( X , 1) mod p for p ≤ B . 2 We initialize S of length 2 M + 1 to 0. 18/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  33. Outline Introduction Classical Algorithms Practical improvements The quadratic sieve Let φ a ( X , Y ) = aX 2 + bXY + cY 2 and B defining B . We look for B -smooth values of φ a ( X , Y ). (Jac99) : use the quadratic sieve We look for x ∈ [ − M , M ] such that φ a ( x , 1) is B -smooth. We do not want to test them all. 1 We compute the roots r p of φ a ( X , 1) mod p for p ≤ B . 2 We initialize S of length 2 M + 1 to 0. 3 For x = r p + kp ∈ [ − M , M ] do S [ x ] ← S [ x ] + log p because φ a ( x , 1) = φ a ( r p + kp , 1) ≡ φ a ( r p , 1) ≡ 0 mod p . 18/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  34. Outline Introduction Classical Algorithms Practical improvements The quadratic sieve Let φ a ( X , Y ) = aX 2 + bXY + cY 2 and B defining B . We look for B -smooth values of φ a ( X , Y ). (Jac99) : use the quadratic sieve We look for x ∈ [ − M , M ] such that φ a ( x , 1) is B -smooth. We do not want to test them all. 1 We compute the roots r p of φ a ( X , 1) mod p for p ≤ B . 2 We initialize S of length 2 M + 1 to 0. 3 For x = r p + kp ∈ [ − M , M ] do S [ x ] ← S [ x ] + log p because φ a ( x , 1) = φ a ( r p + kp , 1) ≡ φ a ( r p , 1) ≡ 0 mod p . 4 For “large” S [ x ], test the smoothness of φ a ( x , 1). 18/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  35. Outline Introduction Classical Algorithms Practical improvements Large prime variants We speed-up the relation collection phase by considering p such that B ≤ N ( p ) ≤ B 2 . 19/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  36. Outline Introduction Classical Algorithms Practical improvements Large prime variants We speed-up the relation collection phase by considering p such that B ≤ N ( p ) ≤ B 2 . Single large prime variant . We authorize relations of the form a = p 1 . . . p n p , � �� � ∈B where B ≤ N ( p ) ≤ B 2 . 19/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  37. Outline Introduction Classical Algorithms Practical improvements Large prime variants We speed-up the relation collection phase by considering p such that B ≤ N ( p ) ≤ B 2 . Single large prime variant . We authorize relations of the form a = p 1 . . . p n p , � �� � ∈B where B ≤ N ( p ) ≤ B 2 . Double large prime variant . We authorise relations of the form pp ′ , a = p 1 . . . p n � �� � ∈B where B ≤ N ( p ) , N ( p ′ ) ≤ B 2 . 19/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  38. Outline Introduction Classical Algorithms Practical improvements Batch smoothness test Quadratic sieve : for large S [ x ], we test the smoothness of φ a ( x , 1). 20/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  39. Outline Introduction Classical Algorithms Practical improvements Batch smoothness test Quadratic sieve : for large S [ x ], we test the smoothness of φ a ( x , 1). This can be done by trial division. 20/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  40. Outline Introduction Classical Algorithms Practical improvements Batch smoothness test Quadratic sieve : for large S [ x ], we test the smoothness of φ a ( x , 1). This can be done by trial division. We used an algorithm due to Berstein. 20/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  41. Outline Introduction Classical Algorithms Practical improvements Batch smoothness test Quadratic sieve : for large S [ x ], we test the smoothness of φ a ( x , 1). This can be done by trial division. We used an algorithm due to Berstein. Takes non negative x 1 , . . . , x K and primes p 1 , . . . , p N . 20/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  42. Outline Introduction Classical Algorithms Practical improvements Batch smoothness test Quadratic sieve : for large S [ x ], we test the smoothness of φ a ( x , 1). This can be done by trial division. We used an algorithm due to Berstein. Takes non negative x 1 , . . . , x K and primes p 1 , . . . , p N . returns the { p 1 , . . . , p N } -smooth part of each x i 20/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  43. Outline Introduction Classical Algorithms Practical improvements Batch smoothness test Quadratic sieve : for large S [ x ], we test the smoothness of φ a ( x , 1). This can be done by trial division. We used an algorithm due to Berstein. Takes non negative x 1 , . . . , x K and primes p 1 , . . . , p N . returns the { p 1 , . . . , p N } -smooth part of each x i Test is simultanous 20/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  44. Outline Introduction Classical Algorithms Practical improvements Batch smoothness test Quadratic sieve : for large S [ x ], we test the smoothness of φ a ( x , 1). This can be done by trial division. We used an algorithm due to Berstein. Takes non negative x 1 , . . . , x K and primes p 1 , . . . , p N . returns the { p 1 , . . . , p N } -smooth part of each x i Test is simultanous uses a tree structure. 20/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  45. Outline Introduction Classical Algorithms Practical improvements Relation collection timings Tab. : Comparison of the relation collection time for ∆ = − 4(10 n + 1) 0LP 1LP 2LP 2LP Batch n 40 0.69 0.56 0.59 0.66 45 7.25 3.77 3.83 4.41 50 18.82 9.30 9.84 6.82 55 152.28 74.78 55.99 36.49 60 333.26 166.88 140.79 83.06 65 2033.97 853.27 478.57 368.31 70 2828.92 1277.94 822.39 670.63 75 14811.70 6033.89 3324.61 2732.68 21/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  46. Outline Introduction Classical Algorithms Practical improvements Eliminating columns Sparse large matrix. Especially with the large primes. 22/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  47. Outline Introduction Classical Algorithms Practical improvements Eliminating columns Sparse large matrix. Especially with the large primes. We want to eliminate columns to reduce its dimension and apply algorithms for dense matrices. 22/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  48. Outline Introduction Classical Algorithms Practical improvements Eliminating columns Sparse large matrix. Especially with the large primes. We want to eliminate columns to reduce its dimension and apply algorithms for dense matrices. We can use the standard Gaussian elimination. It consists of pivoting with an arbitrary row. 22/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  49. Outline Introduction Classical Algorithms Practical improvements Eliminating columns Sparse large matrix. Especially with the large primes. We want to eliminate columns to reduce its dimension and apply algorithms for dense matrices. We can use the standard Gaussian elimination. It consists of pivoting with an arbitrary row. Two problems encontered : 22/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  50. Outline Introduction Classical Algorithms Practical improvements Eliminating columns Sparse large matrix. Especially with the large primes. We want to eliminate columns to reduce its dimension and apply algorithms for dense matrices. We can use the standard Gaussian elimination. It consists of pivoting with an arbitrary row. Two problems encontered : 1 R 3 can have Hamming weight w ( R 3 ) = w ( R 1 ) + w ( R 2 ). 22/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  51. Outline Introduction Classical Algorithms Practical improvements Eliminating columns Sparse large matrix. Especially with the large primes. We want to eliminate columns to reduce its dimension and apply algorithms for dense matrices. We can use the standard Gaussian elimination. It consists of pivoting with an arbitrary row. Two problems encontered : 1 R 3 can have Hamming weight w ( R 3 ) = w ( R 1 ) + w ( R 2 ). 2 The coefficients might grow dramatically. 22/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  52. Outline Introduction Classical Algorithms Practical improvements Eliminating columns Sparse large matrix. Especially with the large primes. We want to eliminate columns to reduce its dimension and apply algorithms for dense matrices. We can use the standard Gaussian elimination. It consists of pivoting with an arbitrary row. Two problems encontered : 1 R 3 can have Hamming weight w ( R 3 ) = w ( R 1 ) + w ( R 2 ). 2 The coefficients might grow dramatically. We describe a method for managing the growth of the density and the size of the coefficients during the elimination. 22/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  53. Outline Introduction Classical Algorithms Practical improvements Structured Elimination Row R → cost function COST ( R ) taking into account : 23/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  54. Outline Introduction Classical Algorithms Practical improvements Structured Elimination Row R → cost function COST ( R ) taking into account : 1 Hamming weight of R 23/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  55. Outline Introduction Classical Algorithms Practical improvements Structured Elimination Row R → cost function COST ( R ) taking into account : 1 Hamming weight of R 2 Size of its coefficients 23/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  56. Outline Introduction Classical Algorithms Practical improvements Structured Elimination Row R → cost function COST ( R ) taking into account : 1 Hamming weight of R 2 Size of its coefficients For a given column involving rows R 1 , ..., R k we construct the com- plete graph G : 23/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  57. Outline Introduction Classical Algorithms Practical improvements Structured Elimination Row R → cost function COST ( R ) taking into account : 1 Hamming weight of R 2 Size of its coefficients For a given column involving rows R 1 , ..., R k we construct the com- plete graph G : 1 vertices R i 23/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  58. Outline Introduction Classical Algorithms Practical improvements Structured Elimination Row R → cost function COST ( R ) taking into account : 1 Hamming weight of R 2 Size of its coefficients For a given column involving rows R 1 , ..., R k we construct the com- plete graph G : 1 vertices R i 2 edges labeled with the cost of the recombination C ij = COST ( RECOMB ( R i , R j )) 23/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  59. Outline Introduction Classical Algorithms Practical improvements Structured Elimination Row R → cost function COST ( R ) taking into account : 1 Hamming weight of R 2 Size of its coefficients For a given column involving rows R 1 , ..., R k we construct the com- plete graph G : 1 vertices R i 2 edges labeled with the cost of the recombination C ij = COST ( RECOMB ( R i , R j )) We then construct the minimum spanning tree of G and eliminate rows from the leaves to the root. 23/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  60. Outline Introduction Classical Algorithms Practical improvements Minimum spanning tree on Alberta’s map Jasper Edmonton Red Deer Calgary 24/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  61. Outline Introduction Classical Algorithms Practical improvements Minimum spanning tree on Alberta’s map Jasper Edmonton Red Deer 5 h 5 h 3 h Calgary 24/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  62. Outline Introduction Classical Algorithms Practical improvements Minimum spanning tree on Alberta’s map Jasper Edmonton Red Deer Calgary 24/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  63. Outline Introduction Classical Algorithms Practical improvements Minimum spanning tree on Alberta’s map Jasper Edmonton 3 h Red Deer 2 h 2 h 5 h 5 h 3 h Calgary 24/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  64. Outline Introduction Classical Algorithms Practical improvements Minimum spanning tree on Alberta’s map Jasper Edmonton Red Deer Calgary 24/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  65. Outline Introduction Classical Algorithms Practical improvements Minimum spanning tree on Alberta’s map Jasper Edmonton Red Deer 5 h 3 h 5 h Calgary 24/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  66. Outline Introduction Classical Algorithms Practical improvements Minimum spanning tree on Alberta’s map Jasper Edmonton Red Deer 3 h Calgary 24/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  67. Outline Introduction Classical Algorithms Practical improvements Minimum spanning tree on Alberta’s map Jasper Edmonton Red Deer 2 h 2 h 5 h 5 h 3 h Calgary 24/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  68. Outline Introduction Classical Algorithms Practical improvements Minimum spanning tree on Alberta’s map Jasper Edmonton Red Deer 2 h 3 h Calgary 24/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  69. Outline Introduction Classical Algorithms Practical improvements Minimum spanning tree on Alberta’s map Jasper Edmonton 3 h Red Deer 2 h 2 h 5 h 3 h Calgary 24/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  70. Outline Introduction Classical Algorithms Practical improvements Minimum spanning tree on Alberta’s map Jasper Edmonton Red Deer 2 h 2 h 3 h Calgary 24/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  71. Outline Introduction Classical Algorithms Practical improvements Timings Gaussian elimination for ∆ = 4(10 60 + 3) Naive Gauss Dedicated strategy i Col Nb HNF time i Col Nb HNF time 5 1067 357.9 5 1078 368.0 10 799 184.8 10 806 187.2 50 596 93.7 50 580 84.3 125 542 73.8 125 515 63.4 160 533 72.0 160 497 56.9 170 532 222.4 170 493 192.6 25/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  72. Outline Introduction Classical Algorithms Practical improvements Regulator computation We want to avoid kernel computation and use fewer vectors. Idea due to Vollmer 26/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  73. Outline Introduction Classical Algorithms Practical improvements Regulator computation We want to avoid kernel computation and use fewer vectors. Idea due to Vollmer 1 We find k extra relations � r i . 26/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

  74. Outline Introduction Classical Algorithms Practical improvements Regulator computation We want to avoid kernel computation and use fewer vectors. Idea due to Vollmer 1 We find k extra relations � r i . 2 We solve the k linear systems � x i M = � r i 26/30 J-F. Biasse, M. J. Jacobson Jr Improvements in class group and regulator computation

Recommend


More recommend