A non-commutative algorithm for multiplying (7 × 7) matrices using 250 multiplications
aa r X i v : . [ c s . S C ] D ec A non-commutative algorithm formultiplying (7 ×
7) matrices using 250multiplications
[email protected] 11, 2018
Abstract
We present a non-commutative algorithm for multiplying (7 ×
7) ma-trices using 250 multiplications and a non-commutative algorithm for mul-tiplying (9 ×
9) matrices using 520 multiplications. These algorithms areobtained using the same divide-and-conquer technique that could be ap-plied to any suitable matrix sizes.
The main tool of this note could be summarised in the following proposition:
Proposition 1 — Denoting by h u, v, w i the number of multiplications necessaryto multiply an ( u × v ) matrix with an ( v × w ) matrix to yield an ( u × w ) productmatrix, the following relation holds: h u + v, u + v, u + v i ≤ h u, u, u i + 3 h u, u, v i + 3 h v, v, u i when u > v. (1)For ( u, v ) = (4 , × × divide the (7 ×
7) matrix multiplication problem into smaller sub-problems; the useof three Smirnov’s rectangular matrix multiplication algorithms [11, 12] allowsto conquer new upper bounds on the number of necessary non-commutativemultiplications.To illustrate this point, we first present a scheme that evaluate the prod-uct P = N · M : N = n · · · n ... ... n · · · n , M = m · · · m ... ... m · · · m , P = p · · · p ... ... p · · · p , (2)using 250 multiplications. This algorithm improves slightly the previous knownupper bound 258 presented in [2] and likely obtained with the same kind oftechniques presented in this note. 1n the last section of this work, we stress the main limitation of our ap-proach by constructing a (9 ×
9) matrix multiplication algorithm using 520 mul-tiplications (that is only two multiplications less then the corresponding resultin [2] but 6 multiplications more then the algorithm (9 × × For any (2 ×
2) matrices: A = ( a ij ) ≤ i,j ≤ , B = ( b ij ) ≤ i,j ≤ and C = ( c ij ) ≤ i,j ≤ , (3)V. Strassen shows in [13] that the matrix product C = A · B could be computedby performing the following operations: t = ( a + a )( b + b ) , t = ( a − a )( b + b ) ,t = ( − a + a )( b + b ) , t = ( a + a ) b ,t = a ( b − b ) , t = a ( − b + b ) , t = ( a + a ) b , (cid:18) c c c c (cid:19) = (cid:18) t + t − t + t t + t ,t + t t + t + t − t (cid:19) , (4)in the considered non-necessarily commutative coefficients algebra.To construct our algorithm, we are going to work with the algebra of (4 × P, N and M (2) to that end.So we rewrite these matrices (2) in the following equivalent form: X = x x x x · · · x x x x x · · · x x x x x · · · x · · · x x x x · · · x ... ... ... ... ... ... x x x x · · · x , X ∈ { P, M, N } , (5)in which we have just added a line and a column of zeros. After that padding,the product P = N · M is unchanged. Notations 2 — Hence, in the sequel P (resp. M, N ) designates the (8 × matrices defined in (5) and P ij (resp. M ij , N ij ) designates (4 × matrices(e.g. P stands for the upper left submatrix of P , etc). Remark 3 — The process of peeling the result (removing rows and columns) ofour computations might be better understood if we use—even implicitly—the ten-sor interpretation of matrix multiplication algorithms. Using this framework it ppears that the bilinear application B : K (8 × × K (8 × K (8 × with indeter-minates N and M that defines the matrix multiplication B ( N, M ) = N · M = P is completely equivalent to the trilinear form K (8 × × K (8 × × K (8 × K withindeterminates N, M and P defined by Trace ( N · M · ⊺ P ) (e.g. see [6, § § § Computationally, this equivalence induces that the following relation holds:Trace ( N · M · ⊺ P ) = Trace (( N + N ) · ( M + M ) · ⊺ ( P + P )) (6a)+ Trace (( N − N ) · ( M + M ) · ⊺ P ) (6b)+ Trace (( N − N ) · ( M + M ) · ⊺ P ) (6c)+ Trace (( N + N ) · M · ⊺ ( P − P )) (6d)+ Trace ( N · ( M − M ) · ⊺ ( P + P )) (6e)+ Trace ( N · ( M − M ) · ⊺ ( P + P )) (6f)+ Trace (( N + N ) · M · ⊺ ( P − P )) (6g)and as the bilinear application and the trilinear form are equivalent, one couldretrieve directly the algorithm from this last form. Our original problem isnow divided in 7 lower dimensional subproblems encoded by trilinear forms.In the next section, we enumerate the algorithms used to compute the matrixproducts (6a-6g). The first summand (6a) involves unstructured (4 ×
4) matrix multiplication thatcould be computed using Strassen’s algorithm and could be done with 7 mul-tiplications. Before studying the other summands, we emphasise the followingtrivial remarks: Remarks 4 — As we consider some matrices with zero last column and/orrow, recall that the product of two (4 × matrices ( x ij ) ≤ i,j ≤ and ( y ij ) ≤ i,j ≤ is equivalent to the product of the: • (4 × matrix ( x ij ) ≤ i ≤ , ≤ j ≤ with the (3 × matrix ( y ij ) ≤ i ≤ , ≤ ,j ≤ when for ≤ i ≤ we have y i = 0 (zero last row); • (3 × matrix ( x ij ) ≤ i ≤ , ≤ j ≤ with the (4 × matrix ( y ij ) ≤ i ≤ , ≤ ,j ≤ when for ≤ j ≤ we have y j = 0 (zero last column). Let us now review the matrices involved in the summands (6b-6g).
Facts 5 — We notice that by construction: • the last row and column of X are only composed by zeros; • X is a (4 × matrix; • the last column of X − X is only composed by zeros; • the last line of X + X is only composed by zeros; X − X and X − X are (4 × matrices without zero row or col-umn. Hence, taking into account Remarks 4 and Facts 5, we have a better descriptionof the sub-problems considered in this section:
Remarks 6 — The summand: • (6b) involves an (3 × times (4 × times (3 × matrices product; • (6c) involves an (4 × times (3 × times (4 × matrices product; • (6d) involves an (3 × times (4 × times (4 × matrices product; • (6e) involves an (3 × times (3 × times (4 × matrices product; • (6f) involves an (4 × times (4 × times (3 × matrices product; • (6g) involves an (4 × times (3 × times (3 × matrices product. Remark 7 — We also rely our construction on the representation of matrixmultiplication algorithm by trilinear forms and the underlying tensor represen-tation (see Remark 3) because, as quoted in [6, § . . . ], a normal scheme for evaluating an ( m × n ) times ( n × s ) ma-trix product implies the existence of a normal scheme to evaluatean ( n × s ) times ( s × m ) matrix product using the same number ofchain multiplications.” This is exactly what we are using in the sequel. To do so and in order toexpress complexity of the summands (6b-6g), we (re)introduce more preciselythe following notations (already used in Proposition 1):
Notation 8 — For matrices
U, V and W of size ( u × v ) , ( v × w ) and ( w × u ) ,we denote by h u, v, w i the known supremum on the multiplication necessary forcomputing Trace ( U · V · ⊺ W ) (that is the number of multiplication used by thebest known algorithm allowing to compute U · V = W (a.k.a. tensor rank)). Remarks 9 — Using this notation, we see that Remarks 6 can be restated asfollow: • (6b) can be computed using h , , i multiplications; • (6c) can be computed using h , , i multiplications; • (6d) can be computed using h , , i multiplications; • (6e) can be computed using h , , i multiplications; • (6f) can be computed using h , , i multiplications; • (6g) can be computed using h , , i multiplications.
4e are going to see that we need only two algorithms to perform all these com-putations. In fact, the Remark 7 is a direct consequence of the following Traceproperties:Trace ( U · V · W ) = Trace ( W · U · V ) = Trace ( V · W · U ) , = Trace (cid:0) ⊺ ( U · V · W ) (cid:1) = Trace (cid:0) ⊺ W · ⊺ V · ⊺ U (cid:1) . (7)To be more precise, Relations (7) imply the following well-known result: Lemma 10 — The following relations hold: h u, v, w i = h w, u, v i = h v, w, u i = h v, u, w i = h w, v, u i = h u, w, v i . (8)This allows us to state that algorithm (6b-6g) requires: h , , i + 3 h , , i + 3 h , , i (9)multiplications. As A. V. Smirnov states that h , , i = 29 and h , , i = 38in [11, Table 1, N o
13 and 21], we conclude that our algorithm required 250multiplications (7 + 3 ·
29 + 3 · http://cristal.univ-lille.fr/~sedoglav/FMM/7x7x7.html .In the next section, we show how to apply the very same manipulations to theproduct of two (9 ×
9) matrices. (9 × matrices As in the previous section, we are going to pad our (9 ×
9) matrices: N = ( n ij ) ≤ i,j ≤ , M = ( M ij ) ≤ i,j ≤ and P = ( P ij ) ≤ i,j ≤ , (10)in order to work this time with equivalent (12 ×
12) matrices: Y = y y y y · · · y y y y y · · · y y y y y · · · y · · ·
00 0 0 0 0 0 0 · · ·
00 0 0 0 0 0 0 · · · y y y y · · · y ... ... ... ... ... ... ... ... y y y y · · · y , Y ∈ { P, M, N } , (11)After that padding, the product P = N · M is unchanged. Notations 11 — In the sequel P (resp. M, N ) designates the (12 × matri-ces defined in (11) and P ij (resp. M ij , N ij ) designates (6 × matrices (e.g. P stands for the upper left submatrix of P , etc). Lemma 12 — With the Notations 8, there exists an algorithm that multiplytwo (9 × matrices using h , , i + 3 h , , i + 3 h , , i multiplications. Again, we found in [11, Table 1, N o
27] that h , , i = 40 (an explicit form ofthis algorithm could be found in the source code of [1] or in the collection [10]).But this time, we do not have found in the literature any fast matrix multipli-cation algorithm for h , , i and we have to provide an algorithm for h , , i .Nevertheless, as done implicitly in Section 2, we are going to use again thefollowing constructive result on tensor’s Kronecker product. Lemma 13 — Given an algorithm computing ( u × v ) times ( v × w ) matrixproduct using h u , v , w i multiplications and an algorithm computing ( u × v ) times ( v × w ) matrix product using h u , v , w i multiplications, one can con-struct an algorithm computing ( u u × v v ) by ( v v × w w ) matrix multi-plication using h u , v , w i · h u , v , w i multiplications (a.k.a. the tensor’s Kro-necker product of the two previous algorithms). Hence, as we know that trivially h , , i = 4, we conclude that h , , i is equalto h , , i · h , , i (that is 160) and that h , , i = 80. So, the algorithm con-structed in this section requires 520 multiplications (4 ·
40 + 3 · (40 ·
2) + 3 · The complexity of our algorithm for multiplying (9 ×
9) matrices could likely beimproved by finding a better algorithm for h , , i and h , , i then those usedabove (algorithms obtained by tensor Kronecker product are not always optimalas shown by the fact that h , , i · h , , i is equal to 529 while computationssummarised in Table A show that h , , i is now 514).By combining tensor’s based description of matrix multiplication algorithmswith rectangular algorithms found by numerical computer search (see [1, § References [1]
Benson, A. R., and Ballard, G.
A framework for practi-cal parallel fast matrix multiplication. Tech. rep. arXiv:1409.2908v1Sept. 2014. Source code at https://github.com/arbenson/fast-matmul .[Cited §
3, 4, and 5.][2]
Drevet, C.-´E., Nazrul Islam, M., and Schost, ´E.
Op-timization techniques for small matrix multiplication.
The-oretical Computer Science 412 , 22 (May 2011), 2219–2236.https://doi.org/10.1016/j.tcs.2010.12.012. [Cited § Dumas, J.-G., and Pan, V. Y.
Fast matrix multiplication and symboliccomputation. Tech. rep. arXiv:1612.05766v1, Dec. 2015. [Cited § Hopcroft, J. E., and Kerr, L. E.
On minimizing the number ofmultiplication necessary for matrix multiplication.
SIAM Journal on Ap-plied Mathematics 20 , 1 (Jan. 1971). https://doi.org/10.1137/0120004.[Cited § Hopcroft, J. E., and Musinski, J.
Duality applied to the complexityof matrix multiplications and other bilinear forms. In acm
Symposium on the theory of computing (Apr. 30–May 2 1973), A. V. Aho,A. Borodin, R. L. Constable, R. W. Floyd, M. A. Harrison, R. D. Karp, andR. H. Strong, Eds., pp. 73–87. https://doi.org/10.1137/0202013.[6]
Knuth, D. E.
The Art of Computer Programming. Seminumerical Al-gorithms , 3 ed., vol. 2 of
Computer Science and Information Processing .Addison Wesley, Reading, Mass., 1997. https://doi.org/10.1137/1012065.[Cited § Laderman, J. B.
A noncommutative algorithm for multi-plying 3 × Bulletin ofthe American Mathematical Society 82 , 1 (Jan. 1976), 126–128.https://doi.org/10.1090/S0002-9904-1976-13988-2. [Cited § Landsberg, J. M.
Tensors: geometry and applications , vol. 128 of
Graduate Studies in Mathematics . American Mathematical Society, 2010.https://doi.org/10.1090/gsm/128. [Cited § Sedoglavic, A.
A non-commutative algorithm for multiplying 5 × § Sedoglavic, A.
Fast matrix multiplication database.http://cristal.univ-lille.fr/˜sedoglav/FMM/ [Cited § Smirnov, A. V.
The bilinear complexity and practical al-gorithms for matrix multiplication.
Computational Mathemat-ics and Mathematical Physics 53 , 2 (Dec. 2013), 1781–1795.https://doi.org/10.1134/S0965542513120129. [Cited §
1, 3, 4, 5, and 1.][12]
Smirnov, A. V.
Several bilinear algorithms for matrix multiplication.Tech. rep. Jan. 2017. doi :10.13140/RG.2.2.30005.06886 [Cited § Strassen, V.
Gaussian elimination is not optimal.
Numerische Math-ematik 13 , 4 (Aug. 1969), 354–356. https://doi.org/10.1007/BF02165411.[Cited §
1, 2, and 1.]
A Summary of known results
We gather below a summary of some known results up to h , , i . h , x, y i x · y x · y trivial algorithms h , , i , , i
15 18 Hopcroft & Kerr [4] h , , i
20 24 Hopcroft & Kerr [4] h , , i
25 30 Hopcroft & Kerr [4] h , , i
30 36 h , , i · h , , ih , , i
35 42 h , , i + h , , ih , , i
40 48 h , , i · h , , ih , , i
45 54 h , , i · h , , ih , , i
50 60 h , , i + h , , ih , , i
55 66 h , , i + h , , ih , , i
60 72 h , , i · h , , ih , , i
26 32 Hopcroft & Kerr [4] h , , i
33 40 Hopcroft & Kerr [4] h , , i
39 48 Hopcroft & Kerr [4] h , , i
46 56 h , , i + h , , ih , , i
52 64 h , , i · h , , ih , , i
59 72 h , , i + h , , ih , , i
65 80 h , , i + h , , ih , , i
72 88 h , , i + h , , ih , , i
78 96 h , , i · h , , ih , , i
40 50 Hopcroft & Kerr [4] h , , i
48 60 Hopcroft & Kerr [4] h , , i
56 70 Hopcroft & Kerr [4] h , , i
64 80 Hopcroft & Kerr [4] h , , i
72 90 Hopcroft & Kerr [4] h , , i
80 100 h , , i · h , , ih , , i
88 110 h , , i + h , , ih , , i
96 120 h , , i + h , , ih , , i
57 72 Hopcroft & Kerr [4] h , , i
67 84 Hopcroft & Kerr [4] h , , i
76 96 Hopcroft & Kerr [4] h , , i
87 108 h , , i + h , , ih , , i
95 120 Hopcroft & Kerr [4] h , , i
105 132 h , , i + h , , ih , , i
114 144 h , , i · h , , ih , , i
77 98 Hopcroft & Kerr [4] h , , i
91 112 h , , i + h , , ih , , i
99 126 Hopcroft & Kerr [4] h , , i
110 140 Hopcroft & Kerr [4] h , , i
121 154 Hopcroft & Kerr [4] h , , i
132 168 Hopcroft & Kerr [4] h , , i
100 128 Hopcroft & Kerr [4] h , , i
116 144 h , , i + h , , ih , , i
128 160 h , , i · h , , ih , , i
140 176 h , , i + h , , ih , , i
152 192 h , , i + h , , ih , , i
126 162 Hopcroft & Kerr [4] h , , i
144 180 h , , i · h , , ih , , i
158 198 h , , i + h , , ih , , i
168 216 Hopcroft & Kerr [4] h , , i
155 200 Hopcroft & Kerr [4]8 , , i
175 220 h , , i + h , , ih , , i
190 240 h , , i + h , , ih , , i
187 242 Hopcroft & Kerr [4] h , , i
209 264 h , , i + h , , ih , , i
222 288 Hopcroft & Kerr [4] h , , i
23 27 Laderman [7] h , , i
29 36 Smirnov [11] h , , i
36 45 Smirnov [11] h , , i
40 54 Smirnov [11] h , , i
49 63 h , , i + h , , ih , , i
55 72 h , , i + h , , ih , , i
63 81 h , , i + h , , ih , , i
69 90 h , , i + h , , ih , , i
76 99 h , , i + h , , ih , , i
80 108 h , , i · h , , ih , , i
38 48 Smirnov [11] h , , i
48 60 Smirnov [11] h , , i
58 72 h , , i · h , , ih , , i
67 84 h , , i + h , , ih , , i
76 96 h , , i · h , , ih , , i
86 108 h , , i + h , , ih , , i
96 120 h , , i + h , , ih , , i
105 132 h , , i + h , , ih , , i
114 144 h , , i · h , , ih , , i
61 75 h , , i + h , , ih , , i
70 90 h , , i + h , , ih , , i
84 105 h , , i + h , , ih , , i
95 120 h , , i + h , , ih , , i
106 135 h , , i + h , , ih , , i
118 150 h , , i + h , , ih , , i
165 2 h , , i + 2 h , , ih , , i
180 2 h , , i + 2 h , , ih , , i
80 108 h , , i · h , , ih , , i
98 126 h , , i · h , , ih , , i
110 144 h , , i · h , , ih , , i
120 162 h , , i · h , , ih , , i
138 180 h , , i + h , , ih , , i
150 198 h , , i + h , , ih , , i
160 216 h , , i · h , , ih , , i
116 147 h , , i + h , , ih , , i
131 168 h , , i + h , , ih , , i
147 189 h , , i · h , , ih , , i
165 210 h , , i + h , , ih , , i
180 231 h , , i + h , , ih , , i
194 252 h , , i + h , , ih , , i
150 192 h , , i + h , , ih , , i
165 216 h , , i · h , , ih , , i
186 240 h , , i + h , , ih , , i
205 264 h , , i + h , , ih , , i
220 288 h , , i · h , , i , , i
183 243 h , , i + h , , ih , , i
206 270 h , , i + h , , ih , , i
226 297 h , , i + h , , ih , , i
240 324 h , , i · h , , ih , , i
234 300 h , , i + h , , ih , , i
255 330 h , , i + h , , ih , , i
274 360 h , , i + h , , ih , , i
280 363 h , , i + h , , ih , , i
300 396 h , , i + h , , ih , , i
320 432 h , , i · h , , ih , , i
49 64 h , , i · h , , ih , , i
64 80 h , , i + h , , ih , , i
75 96 h , , i + h , , ih , , i
87 112 h , , i + h , , ih , , i
98 128 h , , i · h , , ih , , i
113 144 h , , i + h , , ih , , i
124 160 h , , i + h , , ih , , i
136 176 h , , i + h , , ih , , i
147 192 h , , i · h , , ih , , i
80 100 h , , i · h , , ih , , i
120 3 h , , i + 4 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i
160 3 h , , i + 4 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i
200 3 h , , i + 4 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i
240 3 h , , i + 4 h , , ih , , i
105 144 h , , i · h , , ih , , i
168 3 h , , i + 4 h , , ih , , i
140 192 h , , i · h , , ih , , i
216 3 h , , i + 4 h , , ih , , i
175 240 h , , i · h , , ih , , i
198 264 h , , i + h , , ih , , i
210 288 h , , i · h , , ih , , i h , , i + 2 h , , i + 4 h , , ih , , i
224 3 h , , i + 4 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i
280 3 h , , i + 4 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i
336 3 h , , i + 4 h , , ih , , i
182 256 h , , i · h , , ih , , i
288 3 h , , i + 4 h , , ih , , i
231 320 h , , i · h , , ih , , i
352 3 h , , i + 4 h , , ih , , i
273 384 h , , i · h , , ih , , i
225 324 h , , i · h , , ih , , i
360 3 h , , i + 4 h , , ih , , i
284 396 h , , i + h , , ih , , i
300 432 h , , i · h , , ih , , i
280 400 h , , i · h , , i , , i
320 440 h , , i + h , , ih , , i
336 480 h , , i · h , , ih , , i h , , i + 2 h , , i + 4 h , , ih , , i
528 3 h , , i + 4 h , , ih , , i
390 576 h , , i · h , , ih , , i
99 125 Sedoglavic [9] h , , i h , , i + 2 h , , i + 4 h , , ih , , i h , , i + h , , i + h , , i + 2 h , , i + 2 h , , ih , , i h , , i + 2 h , , i + 4 h , , ih , , i h , , i + h , , i + h , , i + 2 h , , i + 2 h , , ih , , i h , , i + 2 h , , i + 4 h , , ih , , i h , , i + h , , i + 2 h , , i + 3 h , , ih , , i h , , i + 2 h , , i + 4 h , , ih , , i
180 3 h , , i + 4 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i
240 3 h , , i + 4 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i h , , i + h , , i + 2 h , , i + 3 h , , ih , , i
360 3 h , , i + 4 h , , ih , , i h , , i + h , , i + h , , i + 2 h , , i + 2 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i h , , i + h , , i + h , , i + h , , i + h , , i + h , , i + h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i h , , i + h , , i + h , , i + h , , i + h , , i + 2 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i
320 3 h , , i + 4 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i
400 3 h , , i + 4 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i
346 480 h , , i + h , , ih , , i h , , i + h , , i + h , , i + 2 h , , i + 2 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i h , , i + h , , i + h , , i + h , , i + h , , i + 2 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i
500 3 h , , i + 4 h , , ih , , i h , , i + h , , i + 2 h , , i + 3 h , , ih , , i
600 3 h , , i + 4 h , , ih , , i h , , i + h , , i + h , , i + 2 h , , i + 2 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i
720 3 h , , i + 4 h , , ih , , i
160 216 h , , i · h , , ih , , i
252 3 h , , i + 4 h , , ih , , i
203 288 h , , i · h , , ih , , i
225 324 h , , i · h , , ih , , i
360 3 h , , i + 4 h , , ih , , i
396 3 h , , i + 4 h , , ih , , i
280 432 h , , i · h , , ih , , i h , , i + 2 h , , i + 4 h , , ih , , i
336 3 h , , i + 4 h , , i , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i
420 3 h , , i + 4 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i
504 3 h , , i + 4 h , , ih , , i
266 384 h , , i · h , , ih , , i
300 432 h , , i · h , , ih , , i
336 480 h , , i · h , , ih , , i
373 528 h , , i + h , , ih , , i
390 576 h , , i · h , , ih , , i h , , i + 2 h , , i + 4 h , , ih , , i
375 540 h , , i · h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i
435 648 h , , i · h , , ih , , i
422 600 h , , i + h , , ih , , i
660 3 h , , i + 4 h , , ih , , i
490 720 h , , i · h , , ih , , i h , , i + 2 h , , i + 4 h , , ih , , i
530 792 h , , i + h , , ih , , i
560 864 h , , i · h , , ih , , i h , , i + 3 h , , i + 3 h , , ih , , i h , , i + 2 h , , i + 4 h , , ih , , i h , , i + h , , i + h , , i + 2 h , , i + 2 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i
588 2 h , , i + 2 h , , i + 3 h , , ih , , i
448 3 h , , i + 4 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i
401 560 h , , i + h , , ih , , i
441 616 h , , i + h , , ih , , i
474 672 h , , i + h , , ih , , i
408 567 h , , i + h , , ih , , i h , , i + h , , i + h , , i + h , , i + h , , i + 2 h , , ih , , i h , , i + h , , i + h , , i + h , , i + h , , i + h , , i + h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i h , , i + h , , i + h , , i + 2 h , , i + 2 h , , ih , , i h , , i + h , , i + h , , i + h , , i + h , , i + h , , i + h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i h , , i + 4 h , , ih , , i
343 512 h , , i · h , , ih , , i
400 576 h , , i · h , , ih , , i
443 640 h , , i + h , , ih , , i
492 704 h , , i + h , , ih , , i
520 768 h , , i · h , , ih , , i
435 648 h , , i · h , , ih , , i
500 720 h , , i · h , , ih , , i
551 792 h , , i + h , , ih , , i
570 864 h , , i · h , , ih , , i h , , i + 2 h , , i + 4 h , , i , , i h , , i + 2 h , , i + 2 h , , i + 2 h , , ih , , i
960 3 h , , i + 4 h , , ih , , i
968 2 h , , i + 2 h , , i + 3 h , , ih , , i h , , i + 4 h , , ih , , i
735 1152 h , , i · h , , ih , , i
514 729 Proj([[0 , , [2]] , h , , i ) h , , i
540 810 h , , i · h , , ih , , i
600 891 Proj([[0 , , [12]] , h , , i ) h , , i
600 972 h , , i · h , , ih , , i
625 900 h , , i · h , , ih , , i
684 990 h , , i + h , , ih , , i
708 1080 h , , i + h , , ih , , i
758 1089 h , , i + h , , ih , , i
768 1188 h , , i + h , , ih , , i
800 1296 h , , i · h , , ih , , i
693 1000 h , , i · h , , ih , , i h , , i + 4 h , , ih , , i h , , i + 2 h , , i + 4 h , , ih , , i h , , i + 2 h , , i + 4 h , , ih , , i
898 1320 h , , i + h , , ih , , i
936 1440 h , , i · h , , ih , , i h , , i + 3 h , , i + 3 h , , ih , , i
977 1452 h , , i + h , , ih , , i h , , i + h , , ih , , i h , , i · h , , ih , , i h , , i + h , , ih , , i h , , i · h , , ih , , i h , , i + 3 h , , i + 3 h , , ii