NO NEWS ON MATRIX MULTIPLICATION. Manuel Kauers Institute for Algebra JKU

Relevanta dokument
denna del en poäng. 1. (Dugga 1.1) och v = (a) Beräkna u (2u 2u v) om u = . (1p) och som är parallell

1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p)

12.6 Heat equation, Wave equation

Pre-Test 1: M0030M - Linear Algebra.

Styrteknik: Binära tal, talsystem och koder D3:1

Tentamen i Matematik 2: M0030M.

Module 6: Integrals and applications

8 < x 1 + x 2 x 3 = 1, x 1 +2x 2 + x 4 = 0, x 1 +2x 3 + x 4 = 2. x 1 2x 12 1A är inverterbar, och bestäm i så fall dess invers.

Solutions to exam in SF1811 Optimization, June 3, 2014

Support Manual HoistLocatel Electronic Locks


Isometries of the plane

Algoritmer och Komplexitet ht 08. Övning 6. NP-problem

Viktig information för transmittrar med option /A1 Gold-Plated Diaphragm

Webbregistrering pa kurs och termin

Kurskod: TAMS28 MATEMATISK STATISTIK Provkod: TEN1 05 June 2017, 14:00-18:00. English Version

Kvalitetsarbete I Landstinget i Kalmar län. 24 oktober 2007 Eva Arvidsson

NP-fullständighetsbevis

Affärsmodellernas förändring inom handeln

Preschool Kindergarten

Samverkan på departementsnivå om Agenda 2030 och minskade hälsoklyftor

Tentamen MMG610 Diskret Matematik, GU

Mönster. Ulf Cederling Växjö University Slide 1

BOENDEFORMENS BETYDELSE FÖR ASYLSÖKANDES INTEGRATION Lina Sandström

Högskolan i Skövde (SK, JS) Svensk version Tentamen i matematik

Hur fattar samhället beslut när forskarna är oeniga?

This exam consists of four problems. The maximum sum of points is 20. The marks 3, 4 and 5 require a minimum

LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik

Module 1: Functions, Limits, Continuity

Provlektion Just Stuff B Textbook Just Stuff B Workbook

Adding active and blended learning to an introductory mechanics course

Protokoll Föreningsutskottet

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE

Webbreg öppen: 26/ /

1. Varje bevissteg ska motiveras formellt (informella bevis ger 0 poang)

Exempel på uppgifter från 2010, 2011 och 2012 års ämnesprov i matematik för årskurs 3. Engelsk version

(D1.1) 1. (3p) Bestäm ekvationer i ett xyz-koordinatsystem för planet som innehåller punkterna

Workplan Food. Spring term 2016 Year 7. Name:

Writing with context. Att skriva med sammanhang

Stad + Data = Makt. Kart/GIS-dag SamGIS Skåne 6 december 2017

Kurskod: TAIU06 MATEMATISK STATISTIK Provkod: TENA 17 August 2015, 8:00-12:00. English Version

Grafisk teknik IMCDP IMCDP IMCDP. IMCDP(filter) Sasan Gooran (HT 2006) Assumptions:

Beijer Electronics AB 2000, MA00336A,

2.1 Installation of driver using Internet Installation of driver from disk... 3

Make a speech. How to make the perfect speech. söndag 6 oktober 13

and u = och x + y z 2w = 3 (a) Finn alla lösningar till ekvationssystemet

Sammanfattning hydraulik

Discovering!!!!! Swedish ÅÄÖ. EPISODE 6 Norrlänningar and numbers Misi.se

Libers språklåda i engelska Grab n go lessons

Rastercell. Digital Rastrering. AM & FM Raster. Rastercell. AM & FM Raster. Sasan Gooran (VT 2007) Rastrering. Rastercell. Konventionellt, AM

Theory 1. Summer Term 2010

IE1206 Embedded Electronics

Boiler with heatpump / Värmepumpsberedare

Calculate check digits according to the modulus-11 method

Mina målsättningar för 2015

Isolda Purchase - EDI

Grafisk teknik IMCDP. Sasan Gooran (HT 2006) Assumptions:

F ξ (x) = f(y, x)dydx = 1. We say that a random variable ξ has a distribution F (x), if. F (x) =

x 2 2(x + 2), f(x) = by utilizing the guidance given by asymptotes and stationary points. γ : 8xy x 2 y 3 = 12 x + 3

Kurskod: TAIU06 MATEMATISK STATISTIK Provkod: TENA 15 August 2016, 8:00-12:00. English Version

Consumer attitudes regarding durability and labelling

Kurskod: TAMS11 Provkod: TENB 28 August 2014, 08:00-12:00. English Version

SF1911: Statistik för bioteknik

Senaste trenderna från testforskningen: Passar de industrin? Robert Feldt,

The Municipality of Ystad

Grafisk teknik. Sasan Gooran (HT 2006)

Questionnaire for visa applicants Appendix A

FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR

Mot hållbar elbilsanvändning

Att stödja starka elever genom kreativ matte.

LARS. Ett e-bokningssystem för skoldatorer.

Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson

Graphs (chapter 14) 1

In Bloom CAL # 8, sista varv och ihopsättning / last rows and assemble

PORTSECURITY IN SÖLVESBORG

Module 4 Applications of differentiation

Authentication Context QC Statement. Stefan Santesson, 3xA Security AB

Om oss DET PERFEKTA KOMPLEMENTET THE PERFECT COMPLETION 04 EN BINZ ÄR PRECIS SÅ BRA SOM DU FÖRVÄNTAR DIG A BINZ IS JUST AS GOOD AS YOU THINK 05

Materialplanering och styrning på grundnivå. 7,5 högskolepoäng

State Examinations Commission

Methods to increase work-related activities within the curricula. S Nyberg and Pr U Edlund KTH SoTL 2017

MVE500, TKSAM Avgör om följande serier är divergenta eller konvergenta. Om konvergent, beräkna summan. (6p) ( 1) n x 2n+1 (a)

Övning 5 ETS052 Datorkommuniktion Routing och Networking

SVENSK STANDARD SS :2010

English. Things to remember

Tentamen i Matematik 2: M0030M.

Teenage Brain Development

Fragment, ellipser och informationsberikade konstituenter

CHANGE WITH THE BRAIN IN MIND. Frukostseminarium 11 oktober 2018

Alias 1.0 Rollbaserad inloggning

Inkvarteringsstatistik. Göteborg & Co. Februari 2012

Exempel på uppgifter från års ämnesprov i matematik för årskurs 3. Engelsk version

Second handbook of research on mathematics teaching and learning (NCTM)

SVENSK STANDARD SS-EN ISO 19108:2005/AC:2015

2(x + 1) x f(x) = 3. Find the area of the surface generated by rotating the curve. y = x 3, 0 x 1,

Chapter 2: Random Variables

Annonsformat desktop. Startsida / områdesstartsidor. Artikel/nyhets-sidor. 1. Toppbanner, format 1050x180 pxl. Format 1060x180 px + 250x240 pxl.

A QUEST FOR MISSING PULSARS

SWESIAQ Swedish Chapter of International Society of Indoor Air Quality and Climate

Transkript:

NO NEWS ON MATRIX MULTIPLICATION Manuel Kauers Institute for Algebra JKU

( ) ( ) ( ) a1,1 a 1,2 b1,1 b 1,2 c1,1 c = 1,2 a 2,1 a 2,2 b 2,1 b 2,2 c 2,1 c 2,2 c 1,1 = a 1,1 b 1,1 + a 1,2 b 2,1 c 1,2 = a 1,1 b 1,2 + a 1,2 b 2,2 c 2,1 = a 2,1 b 1,1 + a 2,2 b 2,1 c 2,2 = a 2,1 b 1,2 + a 2,2 b 2,2 1

( ) ( ) ( ) a1,1 a 1,2 b1,1 b 1,2 c1,1 c = 1,2 a 2,1 a 2,2 b 2,1 b 2,2 c 2,1 c 2,2 c 1,1 = M 1 + M 4 M 5 + M 7 c 1,2 = M 3 + M 5 c 2,1 = M 2 + M 4 c 2,2 = M 1 M 2 + M 3 + M 6 1

... where ( ) ( ) ( ) a1,1 a 1,2 b1,1 b 1,2 c1,1 c = 1,2 a 2,1 a 2,2 b 2,1 b 2,2 c 2,1 c 2,2 M 1 = (a 1,1 + a 2,2 ) (b 1,1 + b 2,2 ) M 2 = (a 2,1 + a 2,2 ) b 1,1 M 3 = a 1,1 (b 1,2 b 2,2 ) M 4 = a 2,2 (b 2,1 b 1,1 ) M 5 = (a 1,1 + a 1,2 ) b 2,2 M 6 = (a 2,1 a 1,1 ) (b 1,1 + b 1,2 ) M 7 = (a 1,2 a 2,2 ) (b 2,1 + b 2,2 ) 1

( ) ( ) ( ) a1,1 a 1,2 b1,1 b 1,2 c1,1 c = 1,2 a 2,1 a 2,2 b 2,1 b 2,2 c 2,1 c 2,2 This scheme needs 7 multiplications instead of 8. Recursive application allows to multiply n n matrices with O(n log 2 7 ) operations in the ground ring. Let ω be the smallest number so that n n matrices can be multiplied using O(n ω ) operations in the ground domain. Then 2 ω < 3. What is the exact value? 1

Strassen 1969: ω log 2 7 2.807 2

Strassen 1969: ω log 2 7 2.807 Pan 1978: ω 2.796 Bini et al. 1979 : ω 2.7799 Schönhage 1981: ω 2.522 Romani 1982: ω 2.517 Coppersmith/Winograd 1981: ω 2.496 Strassen 1986: ω 2.479 Coppersmith/Winograd 1990: ω 2.376 2

Strassen 1969: ω log 2 7 2.807 Pan 1978: ω 2.796 Bini et al. 1979 : ω 2.7799 Schönhage 1981: ω 2.522 Romani 1982: ω 2.517 Coppersmith/Winograd 1981: ω 2.496 Strassen 1986: ω 2.479 Coppersmith/Winograd 1990: ω 2.376 Stothers 2010: ω 2.374 Williams 2011: ω 2.3728642 Le Gall 2014 : ω 2.3728639 2

Only Strassen s algorithm beats the classical algorithm for reasonable problem sizes. 3

Only Strassen s algorithm beats the classical algorithm for reasonable problem sizes. Want: a matrix multiplication algorithm that beats Strassen s algorithm for matrices of moderate size. 3

Only Strassen s algorithm beats the classical algorithm for reasonable problem sizes. Want: a matrix multiplication algorithm that beats Strassen s algorithm for matrices of moderate size. Idea: instead of dividing the matrices into 2 2-block matrices, divide them into 3 3-block matrices. 3

Only Strassen s algorithm beats the classical algorithm for reasonable problem sizes. Want: a matrix multiplication algorithm that beats Strassen s algorithm for matrices of moderate size. Idea: instead of dividing the matrices into 2 2-block matrices, divide them into 3 3-block matrices. Question: What s the minimal number of multiplications needed to multiply two 3 3 matrices? 3

Only Strassen s algorithm beats the classical algorithm for reasonable problem sizes. Want: a matrix multiplication algorithm that beats Strassen s algorithm for matrices of moderate size. Idea: instead of dividing the matrices into 2 2-block matrices, divide them into 3 3-block matrices. Question: What s the minimal number of multiplications needed to multiply two 3 3 matrices? Answer: Nobody knows. 3

Question: What s the minimal number of multiplications needed to multiply two 3 3 matrices? naive algorithm: 27 padd with zeros, use Strassen twice, cleanup: 25 best known upper bound: 23 (Laderman 1976) best known lower bound: 19 (Bläser 2003) maximal number of multiplications allowed if we want to beat Strassen: 21 (because log 3 21 < log 2 7 < log 3 22). 4

Using SAT solvers, Courtois et al. discovered a new scheme with 23 multiplication in 2011, but none with 22. Can we do better? 5

Using SAT solvers, Courtois et al. discovered a new scheme with 23 multiplication in 2011, but none with 22. Can we do better? Idea: Find a better encoding Exploit symmetries of the problem Use more powerful SAT solvers Let it run on bigger computers Wait for a solution with fewer multiplications 5

Using SAT solvers, Courtois et al. discovered a new scheme with 23 multiplication in 2011, but none with 22. Can we do better? Idea: Find a better encoding Exploit symmetries of the problem Use more powerful SAT solvers Biere s Treengeling Let it run on bigger computers SG Altix UV 1000 Wait for a solution with fewer multiplications 5

Using SAT solvers, Courtois et al. discovered a new scheme with 23 multiplication in 2011, but none with 22. Can we do better? Idea: Find a better encoding Exploit symmetries of the problem Use more powerful SAT solvers Biere s Treengeling Let it run on bigger computers SG Altix UV 1000 Wait for a solution with fewer multiplications We are still waiting. 5

Using SAT solvers, Courtois et al. discovered a new scheme with 23 multiplication in 2011, but none with 22. Can we do better? Idea: Find a better encoding Exploit symmetries of the problem Use more powerful SAT solvers Biere s Treengeling Let it run on bigger computers SG Altix UV 1000 Wait for a solution with fewer multiplications We are still waiting. (Possible other approach: use QBF instead of SAT.) 5

How to encode the search for a matrix multiplication scheme as a SAT problem? 6

How to encode the search for a matrix multiplication scheme as a SAT problem? Make an ansatz M 1 = (α (1) 1,1 a 1,1 + α (1) 1,2 a 1,2 + )(β (1) 1,1 b 1,1 + ) M 2 = (α (2) 1,1 a 1,1 + α (2) 1,2 a 1,2 + )(β (2) 1,1 b 1,1 + ). c 1,1 = γ (1) 1,1 M 1 + γ (2) 1,1 M 2 +. 6

How to encode the search for a matrix multiplication scheme as a SAT problem? Make an ansatz M 1 = (α (1) 1,1 a 1,1 + α (1) 1,2 a 1,2 + )(β (1) 1,1 b 1,1 + ) M 2 = (α (2) 1,1 a 1,1 + α (2) 1,2 a 1,2 + )(β (2) 1,1 b 1,1 + ). c 1,1 = γ (1) 1,1 M 1 + γ (2) 1,1 M 2 +. Set c i,j = k a i,kb k,j for all i, j and compare coefficients. 6

How to encode the search for a matrix multiplication scheme as a SAT problem? This gives the Brent equations (e.g., for 3 3 with 21 multiplications) 21 i, j, k, l, m, n {1, 2, 3} : α (q) i,j β(q) k,l γ(q) m,n = δ j,kδ i,m δ l,n q=1 6

How to encode the search for a matrix multiplication scheme as a SAT problem? This gives the Brent equations (e.g., for 3 3 with 21 multiplications) 21 i, j, k, l, m, n {1, 2, 3} : α (q) i,j β(q) k,l γ(q) m,n = δ j,kδ i,m δ l,n q=1 3 6 = 729 cubic equations 21 9 3 = 567 variables 6

How to encode the search for a matrix multiplication scheme as a SAT problem? This gives the Brent equations (e.g., for 3 3 with 21 multiplications) 21 i, j, k, l, m, n {1, 2, 3} : α (q) i,j β(q) k,l γ(q) m,n = δ j,kδ i,m δ l,n q=1 3 6 = 729 cubic equations 21 9 3 = 567 variables Laderman claims that he solved this system by hand, but he doesn t say exactly how. 6

How to encode the search for a matrix multiplication scheme as a SAT problem? This gives the Brent equations (e.g., for 3 3 with 21 multiplications) 21 i, j, k, l, m, n {1, 2, 3} : α (q) i,j β(q) k,l γ(q) m,n = δ j,kδ i,m δ l,n Solve this system in Z 2. q=1 6

How to encode the search for a matrix multiplication scheme as a SAT problem? This gives the Brent equations (e.g., for 3 3 with 21 multiplications) 21 i, j, k, l, m, n {1, 2, 3} : α (q) i,j β(q) k,l γ(q) m,n = δ j,kδ i,m δ l,n Solve this system in Z 2. q=1 Reading α (q) i,j, β(q) k,l, γ(q) m,n as boolean variables and + as XOR, the problem becomes a SAT problem. 6

Problem: SAT solvers don t like XOR. They want CNF as input. 7

Problem: SAT solvers don t like XOR. They want CNF as input. a + b = 1 (ā b) (a b) 7

Problem: SAT solvers don t like XOR. They want CNF as input. a + b = 1 (ā b) (a b) a + b + c = 1 (ā b c) (ā c b) ( b c a) (a b c) 7

Problem: SAT solvers don t like XOR. They want CNF as input. a + b = 1 (ā b) (a b) a + b + c = 1 (ā b c) (ā c b) ( b c a) (a b c) a + b + c + d = 1 (ā b c d) (ā b c d) (ā c b d) (ā d b c) ( b c a d) ( b d a c) ( c d a b) (a b c d). 7

Problem: SAT solvers don t like XOR. They want CNF as input. a + b = 1 (ā b) (a b) a + b + c = 1 (ā b c) (ā c b) ( b c a) (a b c) a + b + c + d = 1 (ā b c d) (ā b c d) (ā c b d) (ā d b c) ( b c a d) ( b d a c) ( c d a b) (a b c d). Expanding 21-term sum into CNF like this gives a million clauses. 7

SAT people avoid this explosion by assigning new variables ( Tseitin variables ) to subexpressions before converting to CNF: 8

SAT people avoid this explosion by assigning new variables ( Tseitin variables ) to subexpressions before converting to CNF: a + b + c + d + e + f + g + h + i = 0 8

SAT people avoid this explosion by assigning new variables ( Tseitin variables ) to subexpressions before converting to CNF: a + b + c + d + e + f + g + h + i = 0 a + b + c = T 1 d + e + f = T 2 g + h + i = T 3 T 1 + T 2 + T 3 = 0 8

SAT people avoid this explosion by assigning new variables ( Tseitin variables ) to subexpressions before converting to CNF: a + b + c + d + e + f + g + h + i = 0 a + b + c = T 1 d + e + f = T 2 g + h + i = T 3 T 1 + T 2 + T 3 = 0 CNF CNF CNF CNF 8

SAT people avoid this explosion by assigning new variables ( Tseitin variables ) to subexpressions before converting to CNF: a + b + c + d + e + f + g + h + i = 0 a + b + c = T 1 d + e + f = T 2 g + h + i = T 3 T 1 + T 2 + T 3 = 0 CNF CNF CNF CNF This decreases the number (and length) of clauses at the cost of increasing the number of variables. 8

Breaking all the sums of length 21 into chunks of size 3 terms each, we end up with a CNF with 21861 variables and 116748 clauses. 9

Breaking all the sums of length 21 into chunks of size 3 terms each, we end up with a CNF with 21861 variables and 116748 clauses. Next, we enrich this formula with some additional information that the solver might find helpful. 9

Breaking all the sums of length 21 into chunks of size 3 terms each, we end up with a CNF with 21861 variables and 116748 clauses. Next, we enrich this formula with some additional information that the solver might find helpful. For example: For each i, j, at least one of α (1) i,j,..., α(q) i,j must be nonzero. Likewise for β and γ. 9

Breaking all the sums of length 21 into chunks of size 3 terms each, we end up with a CNF with 21861 variables and 116748 clauses. Next, we enrich this formula with some additional information that the solver might find helpful. For example: For each i, j, at least one of α (1) i,j,..., α(q) i,j must be nonzero. Likewise for β and γ. For each q, at least one of the α (q) i,j must be nonzero. Likewise for β and γ. 9

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. 10

We should also exploit symmetries. It suffices to inspect one configuration per orbit. 10

Matrix multiplication AB = C enjoys several symmetries: 11

Matrix multiplication AB = C enjoys several symmetries: AUU 1 B = C for every invertible U 11

Matrix multiplication AB = C enjoys several symmetries: AUU 1 B = C for every invertible U VAB = VC for every invertible V 11

Matrix multiplication AB = C enjoys several symmetries: AUU 1 B = C for every invertible U VAB = VC for every invertible V ABW = CW for every invertible W 11

Matrix multiplication AB = C enjoys several symmetries: AUU 1 B = C for every invertible U VAB = VC for every invertible V ABW = CW for every invertible W B A = C 11

Matrix multiplication AB = C enjoys several symmetries: AUU 1 B = C for every invertible U VAB = VC for every invertible V ABW = CW for every invertible W B A = C and one more that is a little more subtle 11

Matrix multiplication AB = C enjoys several symmetries: AUU 1 B = C for every invertible U VAB = VC for every invertible V ABW = CW for every invertible W B A = C and one more that is a little more subtle Altogether, the symmetry group is S 3 GL(n) 3. 11

Matrix multiplication AB = C enjoys several symmetries: AUU 1 B = C for every invertible U VAB = VC for every invertible V ABW = CW for every invertible W B A = C and one more that is a little more subtle Altogether, the symmetry group is S 3 GL(n) 3. We have worked out a small set of clauses that has exactly one solution in each orbit under this group action. 11

Simpler example: For the group action GL(3) 2 Z 3 3 2 Z 3 3 2, (U, V) A := U A V 1 we have four orbits. 12

Simpler example: For the group action GL(3) 2 Z 3 3 2 Z 3 3 2, (U, V) A := U A V 1 we have four orbits. A choice of orbit representatives is 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0, 0 0 0, 0 1 0, 0 1 0. 0 0 0 0 0 0 0 0 0 0 0 1 12

Simpler example: For the group action GL(3) 2 Z 3 3 2 Z 3 3 2, (U, V) A := U A V 1 we have four orbits. A choice of orbit representatives is 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0, 0 0 0, 0 1 0, 0 1 0. 0 0 0 0 0 0 0 0 0 0 0 1 not needed 12

Simpler example: For the group action GL(3) 2 Z 3 3 2 Z 3 3 2, (U, V) A := U A V 1 we have four orbits. A choice of orbit representatives is 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0, 0 0 0, 0 1 0, 0 1 0. 0 0 0 0 0 0 0 0 0 0 0 1 not needed Stabilizer H 1 GL(3) 2 H 1 = 576 Stabilizer H 2 GL(3) 2 H 2 = 96 Stabilizer H 3 GL(3) 2 H 3 = 168 12

Next, for each i = 1, 2, 3 consider the group action ( Hi GL(3) ) Z 3 3 2 Z 3 3 2, (U, V, W) B := V B W 1. 13

Next, for each i = 1, 2, 3 consider the group action ( Hi GL(3) ) Z 3 3 2 Z 3 3 2, (U, V, W) B := V B W 1. For instance for i = 2 we get 6 orbits. 13

Next, for each i = 1, 2, 3 consider the group action ( Hi GL(3) ) Z 3 3 2 Z 3 3 2, (U, V, W) B := V B W 1. For instance for i = 2 we get 6 orbits. A list of representatives is 0 0 0 1 0 0 0 0 0 0 0 0, 0 0 0, 0 0 0, 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0, 0 0 0, 0 1 0. 0 0 0 0 1 0 0 0 1 13

Next, for each i = 1, 2, 3 consider the group action ( Hi GL(3) ) Z 3 3 2 Z 3 3 2, (U, V, W) B := V B W 1. For instance for i = 2 we get 6 orbits. A list of representatives is 0 0 0 1 0 0 0 0 0 0 0 0, 0 0 0, 0 0 0, 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0, 0 0 0, 0 1 0. 0 0 0 0 1 0 0 0 1 Similarly, we have 6 orbits for i = 1 and 4 orbits for i = 3. 13

Altogether, we have found 5 + 5 + 3 nontrivial orbits for the combined group action GL(3) 3 (Z 3 3 2 ) 2 (Z 3 3 2 ) 2, (U, V, W) (A, B) := (U A V 1, V B W 1 ). 14

Altogether, we have found 5 + 5 + 3 nontrivial orbits for the combined group action GL(3) 3 (Z 3 3 2 ) 2 (Z 3 3 2 ) 2, (U, V, W) (A, B) := (U A V 1, V B W 1 ). For each representative, determine the stabilizer H GL(3) 3 and find the orbits of the action of H on C Z 3 3 2. 14

Altogether, we have found 5 + 5 + 3 nontrivial orbits for the combined group action GL(3) 3 (Z 3 3 2 ) 2 (Z 3 3 2 ) 2, (U, V, W) (A, B) := (U A V 1, V B W 1 ). For each representative, determine the stabilizer H GL(3) 3 and find the orbits of the action of H on C Z 3 3 2. Merge orbits that are equivalent under the action of S 3. 14

Altogether, we have found 5 + 5 + 3 nontrivial orbits for the combined group action GL(3) 3 (Z 3 3 2 ) 2 (Z 3 3 2 ) 2, (U, V, W) (A, B) := (U A V 1, V B W 1 ). For each representative, determine the stabilizer H GL(3) 3 and find the orbits of the action of H on C Z 3 3 2. Merge orbits that are equivalent under the action of S 3. Finally, instead of (2 9 1) 3 = 133432830 matrix triples, we have to consider only 94 orbit representatives. 14

Actually there are some much more obvious and much more effective symmetries: 21 i, j, k, l, m, n {1, 2, 3} : α (q) i,j β(q) k,l γ(q) m,n = δ j,kδ i,m δ l,n q=1 15

Actually there are some much more obvious and much more effective symmetries: 21 i, j, k, l, m, n {1, 2, 3} : α (q) i,j β(q) k,l γ(q) m,n = δ j,kδ i,m δ l,n q=1 We can change the order of summation in 21! possible ways. 15

Actually there are some much more obvious and much more effective symmetries: 21 i, j, k, l, m, n {1, 2, 3} : α (q) i,j β(q) k,l γ(q) m,n = δ j,kδ i,m δ l,n q=1 We can change the order of summation in 21! possible ways. We impose a lexicographic order on the summands in order to break this symmetry. 15

At the end of the day, we have an enriched CNF with 25078 variables and 130709 clauses. 16

At the end of the day, we have an enriched CNF with 25078 variables and 130709 clauses. Unfortunately, we haven t been able to solve it within some 10 years of CPU time. 16

At the end of the day, we have an enriched CNF with 25078 variables and 130709 clauses. Unfortunately, we haven t been able to solve it within some 10 years of CPU time. In contrast, finding Strassen s original algorithm for 2 2 matrices is a matter of a few seconds only. 16

At the end of the day, we have an enriched CNF with 25078 variables and 130709 clauses. Unfortunately, we haven t been able to solve it within some 10 years of CPU time. In contrast, finding Strassen s original algorithm for 2 2 matrices is a matter of a few seconds only. The optimal algorithms for the rectangular cases (2 2)(2 3) and (2 3)(3 3) are found within a few minutes. 16

At the end of the day, we have an enriched CNF with 25078 variables and 130709 clauses. Unfortunately, we haven t been able to solve it within some 10 years of CPU time. In contrast, finding Strassen s original algorithm for 2 2 matrices is a matter of a few seconds only. The optimal algorithms for the rectangular cases (2 2)(2 3) and (2 3)(3 3) are found within a few minutes. We will keep trying to find some improvement for 3 3. For the time being, we have no news on matrix multiplication. 16