A non-commutative algorithm for multiplying (7 7) matrices using 250 multiplications

Similar documents
A non-commutative algorithm for multiplying (7 7) matrices using 250 multiplications

Smart Bolometer: Toward Monolithic Bolometer with Smart Functions

A new simple recursive algorithm for finding prime numbers using Rosser s theorem

Methylation-associated PHOX2B gene silencing is a rare event in human neuroblastoma.

Completeness of the Tree System for Propositional Classical Logic

A Study of the Regular Pentagon with a Classic Geometric Approach

Easter bracelets for years

Vibro-acoustic simulation of a car window

Can we reduce health inequalities? An analysis of the English strategy ( )

On Symmetric Norm Inequalities And Hermitian Block-Matrices

Case report on the article Water nanoelectrolysis: A simple model, Journal of Applied Physics (2017) 122,

From Unstructured 3D Point Clouds to Structured Knowledge - A Semantics Approach

Soundness of the System of Semantic Trees for Classical Logic based on Fitting and Smullyan

Passerelle entre les arts : la sculpture sonore

On Newton-Raphson iteration for multiplicative inverses modulo prime powers

A note on the computation of the fraction of smallest denominator in between two irreducible fractions

On size, radius and minimum degree

Full-order observers for linear systems with unknown inputs

A Simple Proof of P versus NP

On Symmetric Norm Inequalities And Hermitian Block-Matrices

Evolution of the cooperation and consequences of a decrease in plant diversity on the root symbiont diversity

The Accelerated Euclidean Algorithm

Unbiased minimum variance estimation for systems with unknown exogenous inputs

Dispersion relation results for VCS at JLab

Exact Comparison of Quadratic Irrationals

BERGE VAISMAN AND NASH EQUILIBRIA: TRANSFORMATION OF GAMES

L institution sportive : rêve et illusion

A new approach of the concept of prime number

Some explanations about the IWLS algorithm to fit generalized linear models

Exogenous input estimation in Electronic Power Steering (EPS) systems

Solution to Sylvester equation associated to linear descriptor systems

FORMAL TREATMENT OF RADIATION FIELD FLUCTUATIONS IN VACUUM

Analysis of Boyer and Moore s MJRTY algorithm

Entropies and fractal dimensions

Thomas Lugand. To cite this version: HAL Id: tel

Tropical Graph Signal Processing

A note on the acyclic 3-choosability of some planar graphs

Nodal and divergence-conforming boundary-element methods applied to electromagnetic scattering problems

Hook lengths and shifted parts of partitions

b-chromatic number of cacti

Multiple sensor fault detection in heat exchanger system

Stickelberger s congruences for absolute norms of relative discriminants

On the Griesmer bound for nonlinear codes

STATISTICAL ENERGY ANALYSIS: CORRELATION BETWEEN DIFFUSE FIELD AND ENERGY EQUIPARTITION

Chebyshev polynomials, quadratic surds and a variation of Pascal s triangle

Confluence Algebras and Acyclicity of the Koszul Complex

A Context free language associated with interval maps

A Simple Model for Cavitation with Non-condensable Gases

Cutwidth and degeneracy of graphs

On the longest path in a recursively partitionable graph

Trench IGBT failure mechanisms evolution with temperature and gate resistance under various short-circuit conditions

Widely Linear Estimation with Complex Data

Question order experimental constraints on quantum-like models of judgement

On path partitions of the divisor graph

Sparse multivariate factorization by mean of a few bivariate factorizations

A proximal approach to the inversion of ill-conditioned matrices

On one class of permutation polynomials over finite fields of characteristic two *

Replicator Dynamics and Correlated Equilibrium

Climbing discrepancy search for flowshop and jobshop scheduling with time-lags

approximation results for the Traveling Salesman and related Problems

The Learner s Dictionary and the Sciences:

Low frequency resolvent estimates for long range perturbations of the Euclidean Laplacian

Numerical Modeling of Eddy Current Nondestructive Evaluation of Ferromagnetic Tubes via an Integral. Equation Approach

Particle-in-cell simulations of high energy electron production by intense laser pulses in underdense plasmas

A remark on a theorem of A. E. Ingham.

Axiom of infinity and construction of N

Avalanche Polynomials of some Families of Graphs

On infinite permutations

On the link between finite differences and derivatives of polynomials

Fast Computation of Moore-Penrose Inverse Matrices

Gaia astrometric accuracy in the past

Numerical Exploration of the Compacted Associated Stirling Numbers

Comment on: Sadi Carnot on Carnot s theorem.

Some approaches to modeling of the effective properties for thermoelastic composites

There are infinitely many twin primes 30n+11 and 30n+13, 30n+17 and 30n+19, 30n+29 and 30n+31

Lorentz force velocimetry using small-size permanent magnet systems and a multi-degree-of-freedom force/torque sensor

The sound power output of a monopole source in a cylindrical pipe containing area discontinuities

Comparison of Harmonic, Geometric and Arithmetic means for change detection in SAR time series

Solving a quartic equation and certain equations with degree n

New estimates for the div-curl-grad operators and elliptic problems with L1-data in the half-space

ON THE UNIQUENESS IN THE 3D NAVIER-STOKES EQUATIONS

Unfolding the Skorohod reflection of a semimartingale

RHEOLOGICAL INTERPRETATION OF RAYLEIGH DAMPING

Determination of absorption characteristic of materials on basis of sound intensity measurement

Basic concepts and models in continuum damage mechanics

Finite element computation of leaky modes in straight and helical elastic waveguides

DYNAMICAL PROPERTIES OF MONOTONE DENDRITE MAPS

Water Vapour Effects in Mass Measurement

SOLAR RADIATION ESTIMATION AND PREDICTION USING MEASURED AND PREDICTED AEROSOL OPTICAL DEPTH

A Slice Based 3-D Schur-Cohn Stability Criterion

On sl3 KZ equations and W3 null-vector equations

Towards an active anechoic room

The FLRW cosmological model revisited: relation of the local time with th e local curvature and consequences on the Heisenberg uncertainty principle

Impulse response measurement of ultrasonic transducers

All Associated Stirling Numbers are Arithmetical Triangles

Norm Inequalities of Positive Semi-Definite Matrices

Some tight polynomial-exponential lower bounds for an exponential function

Nel s category theory based differential and integral Calculus, or Did Newton know category theory?

Theoretical calculation of the power of wind turbine or tidal turbine

Heavy Metals - What to do now: To use or not to use?

Transcription:

A non-commutative algorithm for multiplying (7 7) matrices using 250 multiplications Alexandre Sedoglavic To cite this version: Alexandre Sedoglavic. A non-commutative algorithm for multiplying (7 7) matrices using 250 multiplications. 2017. <hal-01572046v2> HAL Id: hal-01572046 https://hal.archives-ouvertes.fr/hal-01572046v2 Submitted on 13 Aug 2017 HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. Public Domain L archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

A non-commutative algorithm for multiplying (7 7) matrices using 250 multiplications Alexandre.Sedoglavic@univ-lille.fr August 13, 2017 Abstract We present a non-commutative algorithm for multiplying (7 7) matrices using 250 multiplications and a non-commutative algorithm for multiplying (9 9) matrices using 520 multiplications. These algorithms are obtained using the same divide-and-conquer technique. 1 Introduction The main tool of this note could be summarised in the following proposition: Proposition 1 Denoting by u, v, w the number of multiplications necessary to multiply an (u v) matrix with an (v w) matrix to yield an (u w) product matrix, the following relation holds: u + v, u + v, u + v u, u, u + 3 u, u, v + 3 v, v, u when u > v. (1) For (u, v) = (4, 3) and (u, v) = (6, 3), by selecting already known matrix multiplication algorithms and applying this proposition, we obtain two new upper bounds and the explicit corresponding algorithms. In fact, we use the Strassen s matrix multiplication algorithm [11] to divide the (7 7) (resp. (9 9)) matrix multiplication problem into smaller subproblems; the use of three Smirnov s rectangular matrix multiplication algorithms [9, 10] allows to conquer new upper bounds on the number of necessary non-commutative multiplications. We first present a scheme that evaluate the product P = N M: n 11 n 17 m 11 m 17 p 11 p 17 N =.., M =.., P =.. n 71 n 77 m 71 m 77 p 71 p 77, (2) using 250 multiplications. This algorithm improves slightly the previous known upper bound 258 presented in [2] and likely obtained with the same kind of techniques presented in this note. In the last section of this work, we stress the main limitation of our approach by constructing a (9 9) matrix multiplication algorithm using 520 multiplications (that is only two multiplications less then the corresponding result in [2]); 1

we show that, as our approach is based on the knowledge of fast matrix multiplication algorithms for rectangular matrices, it is limited by the restricted knowledge we have on these algorithms (summarized in Table A). 2 Divide For any (2 2) matrices: A = (a ij ) 1 i,j 2, B = (b ij ) 1 i,j 2 and C = (c ij ) 1 i,j 2, (3) V. Strassen shows in [11] that the matrix product C = A B could be computed by performing the following operations: t 1 = (a 11 + a 22 )(b 11 + b 22 ), t 2 = (a 12 a 22 )(b 21 + b 22 ), t 3 = ( a 11 + a 21 )(b 11 + b 12 ), t 4 = (a 11 + a 12 )b 22, t 5 = a 11 (b 12 b 22 ), t 6 = a 22 ( b 11 + b 21 ), t 7 = (a 21 + a 22 )b 11, ( ) ( ) c11 c 12 t1 + t = 2 t 4 + t 6 t 6 + t 7,, c 21 c 22 t 4 + t 5 t 1 + t 3 + t 5 t 7 (4) in the considered non-necessarily commutative coefficients algebra. To construct our algorithm, we are going to work with the algebra of (4 4) matrices and thus, we have to adapt our inputs P, N and M (2) to that end. So we rewrite these matrices (2) in the following equivalent form: X = x 11 x 12 x 13 0 x 14 x 17 x 21 x 22 x 23 0 x 24 x 27 x 31 x 32 x 33 0 x 34 x 37 0 0 0 0 0 0 x 41 x 42 x 43 0 x 44 x 47...... x 71 x 72 x 73 0 x 74 x 77, 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 8) matrices defined in (5) and P ij (resp. M ij, N ij ) designates (4 4) matrices (e.g. P 11 stands for the upper left submatrix of P, etc). Remark 3 The process of peeling the result (removing rows and columns) of our computations might be better understood if we use even implicitly the tensor interpretation of matrix multiplication algorithms. Using this framework it appears that the bilinear application B : K (8 8) K (8 8) K (8 8) with indeterminates N and M that defines the matrix multiplication B(N, M) = N M = P is completely equivalent to the trilinear form K (8 8) K (8 8) K (8 8) K with indeterminates N, M and P defined by Trace (N M P ) (e.g. see [5, 4.6.4, page 506], [7, 2.5.2], [1, 2.2] or [3] for a complete description of this equivalence). 2

Computationally, this equivalence induces that the following relation holds: Trace (N M P ) = Trace ( (N 11 + N 22 ) (M 11 + M 22 ) (P 11 + P 22 ) ) (6a) + Trace ( ) (N 12 N 22 ) (M 21 + M 22 ) P 11 (6b) + Trace ( ) ( N 11 + N 21 ) (M 11 + M 12 ) P 22 (6c) + Trace ( (N 11 + N 12 ) M 22 ( P 11 + P 21 ) ) (6d) + Trace ( N 11 (M 12 M 22 ) (P 21 + P 22 ) ) (6e) + Trace ( N 22 ( M 11 + M 21 ) (P 11 + P 12 ) ) (6f) + Trace ( (N 21 + N 22 ) M 11 (P 12 P 22 ) ) (6g) and as the bilinear application and the trilinear form are equivalent, one could retrieve directly the algorithm from this last form. Our original problem is now divided in 7 lower dimensional subproblems encoded by trilinear forms. In the next section, we present the algorithms used to compute the matrix products (6a-6g). 3 Conquer The first summand (6a) involves unstructured (4 4) matrix multiplication that could be computed using Strassen s algorithm and could be done with 7 2 multiplications. Before studying the other summands, we emphasise the following trivial remarks: Remarks 4 As we consider some matrices with zero last column and/or row, recall that the product of two (4 4) matrices (x ij ) 1 i,j 4 and (y ij ) 1 i,j 4 is equivalent to the product of the: (4 3) matrix (x ij ) 1 i 4,1 j 3 with the (3 4) matrix (y ij ) 1 i 3,1,j 4 when for 1 i 4 we have y i4 = 0 (zero last row); (3 4) matrix (x ij ) 1 i 3,1 j 4 with the (4 3) matrix (y ij ) 1 i 3,1,j 4 when for 1 j 4 we have y 4j = 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 11 are only composed by zeros; X 22 is a (4 4) matrix; the last column of X 11 + X 21 is only composed by zeros; the last line of X 11 + X 12 is only composed by zeros; X 12 X 22 and X 21 X 22 are (4 4) matrices without zero row or column. Hence, taking into account Remarks 4 and Facts 5, we have a better description of the sub-problems considered in this section: Remarks 6 The summand: 3

(6b) involves an (3 4) times (4 3) times (3 3) matrices product; (6c) involves an (4 3) times (3 4) times (4 4) matrices product; (6d) involves an (3 4) times (4 4) times (4 3) matrices product; (6e) involves an (3 3) times (3 4) times (4 3) matrices product; (6f) involves an (4 4) times (4 3) times (3 4) matrices product; (6g) involves an (4 3) times (3 3) times (3 4) matrices product. Remark 7 We also rely our construction on the representation of matrix multiplication algorithm by trilinear forms and the underlying tensor representation (see Remark 3) because, as quoted in [5, 4.6.4 p. 507]: [...], a normal scheme for evaluating an (m n) times (n s) matrix product implies the existence of a normal scheme to evaluate an (n s) times (s m) matrix product using the same number of chain multiplications. This is exactly what we are using in the sequel. To do so and in order to express complexity of the summands (6b-6g), we (re)introduce the 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 u, v, w the known supremum on the multiplication necessary for computing Trace (U V W ) (that is the number of multiplication used by the best known algorithm allowing to compute U V (a.k.a. tensor rank)). Remarks 9 Using this notation, we see that Remarks 6 can be restated as follow: (6b) can be computed using 3, 4, 3 multiplications; (6c) can be computed using 4, 3, 4 multiplications; (6d) can be computed using 3, 4, 4 multiplications; (6e) can be computed using 3, 3, 4 multiplications; (6f) can be computed using 4, 4, 3 multiplications; (6g) can be computed using 4, 3, 3 multiplications. We are going to see that we need only two algorithms to perform all these computations. In fact, the Remark 7 is a direct consequence of the following Trace properties: Trace (U V W ) = Trace (W U V ) = Trace (V W U), = Trace ( (U V W ) ) = Trace ( W V U ). (7) To be more precise, Relations (7) imply the following well-known result: Lemma 10 The following relations hold: u, v, w = w, u, v = v, w, u = v, u, w = w, v, u = u, w, v. (8) 4

This allows us to state that algorithm (6b-6g) requires: 4, 4, 4 + 3 3, 3, 4 + 3 3, 4, 4 (9) multiplications. As A. V. Smirnov states that 3, 3, 4 = 29 and 3, 4, 4 = 38 in [9, Table 1, N o 13 and 21], we conclude that our algorithm required 250 multiplications (7 2 + 3 29 + 3 38). Furthermore, Smirnov provides in [10] the explicit description of these algorithms, allowing us to do the same with the first algorithm constructed in this note at url: https://hal.archives-ouvertes.fr/hal-01572046/file/7x7x7r250.txt. In the next section, we show how to apply the very same manipulations to the product of two (9 9) matrices. 4 An algorithm for multiplying (9 9) matrices As in the previous section, we are going to pad our (9 9) matrices: N = (n ij ) 1 i,j 9, M = (M ij ) 1 i,j 9 and P = (P ij ) 1 i,j 9, (10) in order to work this time with equivalent (12 12) matrices: Y = y 11 y 12 y 13 0 0 0 y 14 y 19 y 21 y 22 y 23 0 0 0 y 24 y 29 y 31 y 32 y 33 0 0 0 y 34 y 39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 y 41 y 42 y 43 0 0 0 y 44 y 49........ y 91 y 92 y 93 0 0 0 y 94 y 99 After that padding, the product P = N M is unchanged., Y {P, M, N}, (11) Notations 11 In the sequel P (resp. M, N) designates the (12 12) matrices defined in (11) and P ij (resp. M ij, N ij ) designates (6 6) matrices (e.g. P 11 stands for the upper left submatrix of P, etc). The process described in Section 3 remains mutatis mutandis exactly the same and we obtain the following special case of Proposition 1: Lemma 12 With the Notations 8, there exists an algorithm that multiply two (9 9) matrices using 6, 6, 6 + 3 6, 6, 3 + 3 6, 3, 3 multiplications. Again, we found in [9, Table 1, N o 27] that 3, 3, 6 = 40 (an explicit form of this algorithm could be found in the source code of [1]). But this time, we do not have found in the literature any fast matrix multiplication algorithm for 6, 6, 3 and we have to provide an algorithm for 6, 6, 6. Nevertheless, as done implicitly in Section 2, we are going to use again the following constructive result on tensor s Kronecker product. 5

Lemma 13 Given an algorithm computing (u 1 v 1 ) times (v 1 w 1 ) matrix product using u 1, v 1, w 1 multiplications and an algorithm computing (u 2 v 2 ) times (v 2 w 2 ) matrix product using u 2, v 2, w 2 multiplications, one can construct an algorithm computing (u 1 u 2 v 1 v 2 ) by (v 1 v 2 w 1 w 2 ) matrix multiplication using u 1, v 1, w 1 u 2, v 2, w 2 multiplications (a.k.a. the tensor s Kronecker product of the two previous algorithms). Hence, as we know that trivially 1, 2, 2 = 4, we conclude that 6, 6, 6 is equal to 6, 3, 3 1, 2, 2 (that is 160) and that 6, 6, 3 = 80. So, the algorithm constructed in this section requires 520 multiplications (4 40 + 3 (40 2) + 3 40). An explicit form of this algorithm is given at url: https://hal.archives-ouvertes.fr/hal-01572046/file/9x9x9r520.txt. 5 Concluding remarks The complexity of our algorithm for multiplying (9 9) matrices could likely be improved by finding a better algorithm for 6, 6, 3 and 6, 6, 6 then those used above (algorithms obtained by tensor Kronecker product are not always optimal as shown by the fact that 3, 3, 3 3, 3, 3 is equal to 529 while we show that 9, 9, 9 is now 520). By combining tensor s based description of matrix multiplication algorithms with rectangular algorithms found by numerical computer search (see [1, 2.3.2] and [9]), it is possible as already shown in [2] to improve the theoretical complexity of small size matrix products (see Table A in appendix in which new results obtained with the method presented in this note are in bold face). The author thinks that some symmetry-based geometrical methods could reduce further the upper bounds presented in this note. References [1] Benson, A. R., and Ballard, G. A framework for practical parallel fast matrix multiplication. Tech. rep. 1409.2908v1, arxiv, Sept. 2014. Source code at https://github.com/arbenson/fast-matmul. [Cited 3, 4, and 5.] [2] Drevet, C.-É., Nazrul Islam, M., and Schost, É. Optimization techniques for small matrix multiplication. Theoretical Computer Science 412, 22 (May 2011), 2219 2236. [Cited 1 and 5.] [3] Dumas, J.-G., and Pan, V. Y. Fast matrix multiplication and symbolic computation. Tech. rep. 1612.05766, arxiv, Dec. 2016. [Cited 3.] [4] Hopcroft, J. E., and Musinski, J. Duality applied to the complexity of matrix multiplications and other bilinear forms. In 5th Annual 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, and R. H. Strong, Eds., pp. 73 87. [Cited 1.] [5] Knuth, D. E. The Art of Computer Programming. Seminumerical Algorithms, 3 ed., vol. 2 of Computer Science and Information Processing. Addison Wesley, Reading, Mass., 1997. [Cited 3 and 7.] 6

[6] Laderman, J. B. A noncommutative algorithm for multiplying 3 3 matrices using 23 multiplications. Bulletin of the American Mathematical Society 82, 1 (Jan. 1976), 126 128. [Cited 1.] [7] Landsberg, J. M. Tensors: geometry and applications, vol. 128 of Graduate Studies in Mathematics. American Mathematical Society, 2010. [Cited 3.] [8] Sedoglavic, A. A non-commutative algorithm for multiplying 5 5 matricesusing 99 multiplications. Tech. rep. 1707.06860, arxiv, July 2017. [9] Smirnov, A. V. The bilinear complexity and practical algorithms for matrix multiplication. Computational Mathematics and Mathematical Physics 53, 2 (Dec. 2013), 1781 1795. [Cited 1, 3, 4, 5, and 1.] [10] Smirnov, A. V. Several bilinear algorithms for matrix multiplication. Tech. rep., ResearchGate, doi:10.13140/rg.2.2.30005.06886, Jan. 2017. [Cited 1 and 3.] [11] Strassen, V. Gaussian elimination is not optimal. Numerische Mathematik 13, 4 (Aug. 1969), 354 356. [Cited 1, 2, and 1.] A Summary of known results (Aug. 10 2017) 1, x, y x y x y trivial algorithms 2, 2, 2 7 8 Strassen [11] 2 x, 2 x, 2 x 7 x 8 x 2, 2, 2 x [11] 2x, 3y, 3z 15xyz 18xyz 2, 3, 3 x, y, z 2, 3, 3 15 18 Hopcroft & Musinski [4] 2, 3, 4 20 24 Smirnov [9] 2, 3, 6 30 36 3, 2, 3 1, 1, 2 2, 3, 7 35 42 2, 3, 3 + 2, 3, 4 2, 3, 8 40 48 2, 3, 4 1, 1, 2 2, 3, 9 45 54 2, 3, 3 1, 1, 3 2, 3, 10 50 60 2, 3, 3 + 2, 3, 7 2, 4, 4 26 32 Smirnov [9] 2, 4, 7 46 56 2, 4, 3 + 2, 4, 4 2, 4, 8 52 64 2, 4, 4 1, 1, 2 2, 4, 9 60 72 2, 4, 3 1, 1, 3 2, 5, 7 60 70 1, 2, 3 + 1, 2, 4 + 2, 3, 4 + 2, 4, 4 2, 6, 6 60 72 2, 3, 3 1, 2, 2 2, 6, 7 70 84 2, 3, 7 1, 2, 1 2, 6, 9 90 108 2, 3, 3 1, 2, 3 2, 7, 7 81 98 2, 3, 3 + 2, 4, 4 + 2 2, 3, 4 2, 7, 8 92 112 2, 7, 4 1, 1, 2 2, 7, 9 105 126 2, 7, 3 1, 1, 3 2, 7, 10 120 140 2, 7, 5 1, 1, 2 2, 8, 8 104 128 2, 4, 4 1, 2, 2 2, 8, 9 120 144 2, 4, 3 1, 2, 3 2, 9, 9 135 162 2, 3, 3 1, 3, 3 7

3, 3, 3 23 27 Laderman [6] 3, 3, 4 29 36 Smirnov [9] 3, 3, 5 36 45 Smirnov [9] 3, 3, 6 40 54 Smirnov [9] 3, 3, 7 49 63 Smirnov [9] 3, 3, 8 58 72 3, 3, 4 1, 1, 2 3, 3, 9 69 81 3, 3, 3 1, 1, 3 3, 3, 10 72 90 3, 3, 5 1, 1, 2 3, 4, 4 38 48 Smirnov [9] 3, 4, 6 58 72 3, 4, 3 1, 1, 2 3, 4, 7 70 84 3, 4, 3 + 3, 4, 4 3, 4, 8 76 96 3, 4, 4 1, 1, 2 3, 4, 9 87 108 3, 4, 3 1, 1, 3 3, 5, 5 64 75 2, 2, 3 + 3, 3, 3 + 2 2, 3, 3 3, 5, 6 72 90 3, 5, 3 1, 1, 2 3, 5, 7 88 105 1, 3, 3 + 1, 3, 4 + 3, 3, 4 + 3, 4, 4 3, 5, 9 108 135 3, 5, 3 1, 1, 3 3, 5, 10 128 150 3, 5, 5 1, 1, 2 3, 6, 6 80 108 3, 3, 6 1, 2, 1 3, 6, 7 98 126 3, 3, 7 1, 2, 1 3, 6, 9 120 162 3, 6, 3 1, 1, 3 3, 6, 10 144 180 3, 3, 5 1, 2, 2 3, 7, 7 119 147 3, 3, 3 + 3, 4, 4 + 2 3, 3, 4 3, 7, 9 147 189 3, 7, 3 1, 1, 3 3, 7, 10 175 210 3, 7, 2 1, 1, 5 3, 8, 8 152 192 3, 4, 4 1, 2, 2 4, 4, 4 49 64 2, 2, 2 2, 2, 2 4, 4, 5 65 80 3 2, 2, 2 + 4 2, 2, 3 4, 4, 6 77 96 2, 2, 2 2, 2, 3 4, 7, 7 162 196 2, 7, 7 2, 1, 1 6, 6, 6 160 216 3, 3, 6 2, 2, 1 6, 7, 7 238 294 3, 7, 7 2, 1, 1 8