Exhaustive search of optimal formulae for bilinear maps Svyatoslav Covanov Supervisors: Jérémie Detrey and Emmanuel Thomé Team CARAMBA January 16, 2017
Optimal formulae 1 Previous work 2 Contribution and experimental results 3 Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 2 / 21
Karatsuba How to multiply two polynomials A = a 0 + a 1 X and B = b 0 + b 1 X ? Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 3 / 21
Karatsuba How to multiply two polynomials A = a 0 + a 1 X and B = b 0 + b 1 X ? A · B = a 0 b 0 + ( a 1 b 0 + a 0 b 1 ) X + a 1 b 1 X 2 1 Naive multiplication: π 0 = a 0 b 0 , π 1 = a 1 b 0 , π 2 = a 0 b 1 and π 3 = a 1 b 1 . We have A · B = π 0 + ( π 1 + π 2 ) X + π 3 X 2 . 2 Karatsuba : π 0 = a 0 b 0 , π 1 = a 1 b 1 and π 2 = ( a 0 + a 1 )( b 0 + b 1 ) . We have A · B = π 0 + ( π 2 − π 0 − π 1 ) X + π 1 X 2 . The bilinear rank is smaller than 3. Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 3 / 21
Short product Π ℓ : K [ X ] <ℓ × K [ X ] <ℓ → K [ X ] <ℓ A · B mod X ℓ ( A , B ) �→ For ℓ = 3, π 0 a 0 b 0 a 0 b 0 �→ , = Π 3 : a 1 b 1 a 1 b 0 + a 0 b 1 π 1 a 2 b 0 + a 1 b 1 + a 0 b 2 π 2 a 2 b 2 Optimal decomposition: rk (Π 3 ) = 5 a 0 b 0 , a 1 b 1 , a 2 b 2 , ( a 0 + a 1 )( b 0 + b 1 ) , ( a 0 + a 2 )( b 0 + b 2 ) Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 4 / 21
Matrix formalism 1 0 0 b 0 � � · = a 0 b 0 π 0 = a 0 a 1 a 2 · 0 0 0 b 1 0 0 0 b 2 0 1 0 b 0 � � · = a 1 b 0 + a 0 b 1 π 1 = a 0 a 1 a 2 · 1 0 0 b 1 0 0 0 b 2 0 0 1 b 0 � � · = a 2 b 0 + a 1 b 1 + a 0 b 2 π 2 = a 0 a 1 a 2 · 0 1 0 b 1 1 0 0 b 2 Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 5 / 21
Matrix representation of formulae: 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 , 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 � �� � � �� � � �� � � �� � � �� � a 0 b 0 a 1 b 1 a 2 b 2 ( a 0 + a 1 )( b 0 + b 1 ) ( a 0 + a 2 )( b 0 + b 2 ) Decomposition: 0 1 0 1 1 0 1 0 0 0 0 0 1 0 0 = 1 1 0 − 0 0 0 − 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 � �� � π 1 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 = 0 1 0 + 0 0 0 − 0 0 0 − 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 � �� � π 2 Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 6 / 21
Generators definition Let G be the set of generators � � � � � � G = ( A , B ) �→ ( λ i a i )( µ j b j ) | λ i ∈ K , µ j ∈ K . i j For the short product Π 3 over F 2 , the generators are � a 0 b 0 , � a 1 b 0 , a 2 b 0 , a 0 b 1 , a 1 b 1 , a 2 b 1 , a 0 b 2 , a 1 b 2 , a 2 b 2 , ( a 0 + a 1 ) b 0 , ( a 0 + a 2 ) b 0 , . . . ↓ 1 0 0 0 0 0 0 0 0 0 1 0 , , , , 0 0 0 1 0 0 0 0 0 0 0 0 . . . 0 0 0 0 0 0 1 0 0 0 0 0 Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 7 / 21
Problem to be solved Let T ℓ = 1 0 · · · 0 0 1 · · · 0 0 0 · · · 1 . ... ... ... . 0 0 0 1 0 0 0 0 . Span , , . . . , . . . . . . ... ... ... ... ... ... . . . . . . . . . . 0 0 0 · · · 0 0 0 · · · 0 1 0 · · · 0 Problem to be solved: Find all free families of minimal size F ⊂ G satisfying T ℓ ⊂ Span ( F ) . Definition Let r ≥ 0. We denote by S r all subspaces V ⊂ M ℓ,ℓ such that there exists { g 0 , . . . , g r − 1 } a free family of G satisfying V = Span ( g 0 , . . . , g r − 1 ) . We denote by S r , T all subspaces V ∈ S r such that T ⊂ V . Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 8 / 21
Optimal formulae 1 Previous work 2 Contribution and experimental results 3 Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 9 / 21
Naive algorithm Naive algorithm Input: ℓ , r Output: S T ℓ , r S ← ∅ for V ∈ S r do ⊲ S r = { Span ( g 0 , . . . , g r − 1 ) | ∀ i , g i ∈ G} if T ℓ ⊂ V then S ← S ∪ { V } end if end for return S � # G � Complexity: # S r ≤ . For ℓ = 3 and K = F 2 , we have r � 49 � # S 5 = 157 , 535 ≪ 1 , 906 , 884 = . 5 Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 10 / 21
Incomplete basis improvement BDEZ ’12 (Barbulescu, Detrey, Estibals, Zimmermann) Input: ℓ , r Output: S T ℓ , r S ← ∅ for W ∈ S r − ℓ do if T ℓ + W ∈ S r then S ← S ∪ { T ℓ + W } end if end for return S � # G � Complexity: # S r − ℓ ≤ . For ℓ = 3, # S 2 = 980 ≪ 157 , 535. r − ℓ Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 11 / 21
Automorphisms We consider the action of couples ( P , Q ) ( P and Q in GL ℓ ) on M ∈ M ℓ,ℓ : ( P , Q ) · M = P · M · Q T . Let Stab ( T ℓ ) be the group of ( P , Q ) such that ∀ M ∈ T ℓ , ( P , Q ) · M ∈ T ℓ . Example 1 0 0 For ℓ = 3 and P = Q = 0 1 1 , 0 0 1 0 0 1 0 1 1 = = π 1 + π 2 ∈ T 3 . ( P , Q ) · 0 1 0 1 1 0 1 0 0 1 0 0 Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 12 / 21
Search with stabilizers Input: ℓ , r Output: S T ℓ , r S ← ∅ for W ∈ S r − ℓ / Stab ( T ℓ ) do if T ℓ + W ∈ S r − ℓ then S ← S ∪ { T ℓ + W } end if end for return S Stab ( T ) � # G � � Complexity: # S r − ℓ / # Stab ( T ℓ ) ≈ # Stab ( T ℓ ) . r − ℓ For ℓ = 3, � 49 � # S 2 / Stab ( T ℓ ) = 68 , # Stab ( T ℓ ) = 32 and / 32 ≈ 37 . 2 Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 13 / 21
Optimal formulae 1 Previous work 2 Contribution and experimental results 3 Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 14 / 21
The rank is a distance Rank is a distance D : (Φ , Ψ) �→ rk (Φ − Ψ) . Example �� 1 � � 0 �� �� 1 �� 0 0 0 , = rk = 2. D 0 0 0 1 0 − 1 We can extend the distance D to any set of formulae. Definition (Neighbourhood) Let S and S ′ be sets of matrices. We define D ( S , S ′ ) as D ( S , S ′ ) = Φ ∈S , Ψ ∈S ′ ( rk (Φ − Ψ)) . min We denote by V d ( S ) the d -neighbourhood of S . Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 15 / 21
Theorem Let W ∈ S r − ℓ be such that T ℓ ⊕ W ∈ S r . Then there exists σ ∈ Stab ( T ℓ ) such that W ◦ σ ∈ V 1 ( π ℓ − 1 ) ∩ V 1 ( π ℓ − 2 ) or W ◦ σ ∈ V 1 ( π ℓ − 1 ) ∩ V 1 ( π ℓ − 1 − π ℓ − 2 ) . Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 16 / 21
Example with ℓ = 3 on F 2 We have T 3 = Span ( a 0 b 0 , a 1 b 0 + a 0 b 1 , a 2 b 0 + a 1 b 1 + a 0 b 2 ) ���� � �� � � �� � π 0 π 1 π 2 and the set of generators G satisfies # G = 49 . set enumerated cardinality S 2 980 S 2 ∩ ( V 1 ( π 2 ) ∩ V 1 ( π 1 )) ◦ Stab ( T 3 ) 64 S 2 ∩ ( V 1 ( π 2 ) ∩ V 1 ( π 2 − π 1 )) ◦ Stab ( T 3 ) 144 Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 17 / 21
Improved search Improved search Input: n , r S ← ∅ for W ∈ ( S r − ℓ ∩ V 1 ( π ℓ − 1 ) ∩ V 1 ( π ℓ − 2 )) / Stab ( T ℓ ) do if T ℓ + W ∈ S r then S ← S ∪ { T ℓ + W } end if end for for W ∈ ( S r − ℓ ∩ V 1 ( π ℓ − 1 ) ∩ V 1 ( π ℓ − 1 − π ℓ − 2 )) / Stab ( T ℓ ) do if T ℓ + W ∈ S r then S ← S ∪ { T ℓ + W } end if end for return S Stab ( T ℓ ) Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 18 / 21
We compare our approach to the search with stabilizer: product time (s) est. speed-up nb. of solutions ShortProduct 4 3 . 0 10 1 , 440 2 . 4 · 10 3 10 5 ShortProduct 5 146 , 944 Table: Computation of decompositions of the short product on a single core 3.3 GHz Intel Core i5-4590. Svyatoslav Covanov Exhaustive search of optimal formulae for bilinear maps January 16, 2017 19 / 21
Recommend
More recommend