Improved method for finding optimal formulae for bilinear maps in a finite field
Svyatoslav Covanov (CARAMBA)

TL;DR
This paper introduces a new pruning criterion that enhances the search for optimal bilinear map formulae over finite fields, leading to new optimal solutions and insights into matrix product decompositions.
Contribution
It presents a novel pruning criterion for exhaustive search, enabling discovery of new optimal formulae and proving uniqueness of certain matrix product decompositions.
Findings
New optimal formulae for short product modulo X^5 and circulant product modulo (X^5 - 1)
Proof of uniqueness of the optimal decomposition for 3x2 by 2x3 matrix products
Enhanced search efficiency for bilinear map formulae
Abstract
In 2012, Barbulescu, Detrey, Estibals and Zimmermann proposed a new framework to exhaustively search for optimal formulae for evaluating bilinear maps, such as Strassen or Karatsuba formulae. The main contribution of this work is a new criterion to aggressively prune useless branches in the exhaustive search, thus leading to the computation of new optimal formulae, in particular for the short product modulo X 5 and the circulant product modulo (X 5 -- 1). Moreover , we are able to prove that there is essentially only one optimal decomposition of the product of 3 x 2 by 2 x 3 matrices up to the action of some group of automorphisms.
| set | cardinality |
|---|---|
| set | ||||||||
|---|---|---|---|---|---|---|---|---|
| cardinality | ||||||||
| upper bound | ||||||||
| time (s) |
| bilinear map | rank | algorithm | nb. of tests | time (s) |
|---|---|---|---|---|
| BDEZ | ||||
| BDEZStab | ||||
| BDEZ | (est.) | (est.) | ||
| BDEZStab | (est.) | (est.) | ||
| CoveringSetsMethod | ||||
| BDEZ | (est.) | (est.) | ||
| BDEZStab | (est.) | (est.) | ||
| CoveringSetsMethod | ||||
| BDEZ | ||||
| BDEZStab | ||||
| BDEZ | ||||
| BDEZStab | ||||
| CoveringSetsMethod | ||||
| BDEZ | (est.) | (est.) | ||
| BDEZStab | (est.) | (est.) | ||
| CoveringSetsMethod | ||||
| BDEZ | (est.) | (est.) | ||
| BDEZStab | (est.) | (est.) | ||
| BDEZ | ||||
| BDEZStab | ||||
| BDEZ | ||||
| BDEZStab | ||||
| BDEZ | (est.) | (est.) | ||
| BDEZStab | (est.) | (est.) | ||
| CoveringSetsMethod | ||||
| BDEZ | (est.) | (est.) | ||
| BDEZStab | (est.) | (est.) |
| set | cardinality | nb. tests | time (s) | nb. of solutions found |
|---|---|---|---|---|
| set | cardinality | nb. tests | time (s) | nb. of solutions found |
|---|---|---|---|---|
| bilinear map | nb. of tests | time (s) | nb. of solutions | equivalence classes |
|---|---|---|---|---|
| set | cardinality | nb. tests | time (s) | nb. of solutions found |
|---|---|---|---|---|
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Improved method for finding optimal formulae for bilinear maps in a finite field
Svyatoslav Covanov
Université de Lorraine, LORIA, UMR 7503, Vandoeuvre-lès-Nancy, F-54506, France
Inria, Villers-lès-Nancy, F-54600, France
CNRS, LORIA, UMR 7503, Vandoeuvre-lès-Nancy, F-54506, France
Abstract
In 2012, Barbulescu, Detrey, Estibals and Zimmermann proposed a new framework to exhaustively search for optimal formulae for evaluating bilinear maps over finite fields, such as Strassen or Karatsuba formulae. The main contribution of this work is a new criterion to aggressively prune useless branches in the exhaustive search, thus leading to the computation of new optimal formulae. We apply in particular our approach to the short product modulo and the circulant product modulo . Moreover, we are able to prove that there is essentially only one optimal decomposition of the product of by matrices up to the action of some group of automorphisms.
keywords:
bilinear rank, optimal formulae, polynomial multiplication, matrix multiplication, finite field arithmetic, bilinear map
1 Introduction
Finding optimal formulae for computing bilinear maps is a problem of algebraic complexity theory [7, 6, 26, 15], initiated by the discoveries of Karatsuba and Ofman [16] and Strassen [26]. It consists in determining almost optimal algorithms for important problems of complexity theory, among which the well studied complexity of matrix multiplication [26, 21, 9, 18] and the complexity of polynomial multiplication [16, 27, 24, 11].
As far as polynomial multiplication is concerned, the first improvement over the schoolbook method came from Karatsuba and Ofman [16] in 1962, who proposed a decomposition of the bilinear map associated to the product of two polynomials of degree
[TABLE]
Using the schoolbook algorithm, computing the product requires multiplications over the coefficient ring: , , , . With the algorithm proposed by Karatsuba, the coefficients of the product can be retrieved from the computation of the following multiplications: , , . In particular, Karatsuba’s algorithm can be applied recursively to improve the binary complexity of the multiplication of two -bit integers: instead of with the naive schoolbook algorithm, we obtain .
In 1969, Strassen [26] proposed formulae improving on the cost of the product of two matrices. When applied recursively on large matrices, this leads to a binary complexity of instead of . Smirnov describes in [25] practical algorithms for matrices of higher dimensions. One can notice that, most of the time, optimal algorithms for matrix multiplication are unknown. For example, it is possible compute the product of matrices over with multiplications [17], but the best known lower bound is still [4].
State of the art
An obstacle to finding optimal formulae is the fact that the decomposition of bilinear maps is known to be NP-hard [14]. In terms of method, the least-squares method seems to be one of the most popular [25]. Another way to decompose a bilinear map consists in using ingredients from geometry [3] and to find a generalization of the decomposition of singular value decomposition for matrices to general tensors. However, these methods are essentially used over an algebraically closed field (e.g. ) and are not meant to produce all the possible decompositions for a bilinear map. In our context, we are looking for a method computing optimal formulae (for the bilinear rank) over a finite field . These formulae can be used for the same bilinear map over any extension of . Thus, they can be used in the context of the asymptotic multiplication of polynomials over a finite field for example. Furthermore, for a set of formulae of , we can deduce formulae over a finite field . It should be possible, given all the optimal formulae over to obtain formulae over . In other terms, finding optimal formulae over finite fields can be used to improve on the multiplication algorithms over larger fields.
Montgomery proposed in [19] an algorithm to compute such a decomposition for the particular case of polynomials of small degree over a finite field. The author takes advantage of the fact that the number of possible formulae is always finite on a finite field. He obtains new formulae for the multiplication of polynomials of degree , and over . In [20], Oseledets proposes a heuristic approach to solve the bilinear rank problem for the polynomial product over . Later, Barbulescu et al. proposed in [1] a unified framework, extending the idea proposed by Oseledets. This allows the authors to compute the bilinear rank of different applications, such as the short product or the middle product over a finite field. Their algorithm allows one to generate all the possible rank decompositions of any bilinear map over a finite field. We extend this work in the current article.
Contributions
The work presented is an improvement to the algorithm introduced in [1], allowing one to increase the family of bilinear maps over a finite field for which we are able to compute all the optimal formulae. Our algorithm relies on the automorphism group stabilizing a bilinear map, and on the notion of “stem” of a vector space associated to such a bilinear map. The main theorem of this work is Theorem 27 and it states that Algorithm 4 is able to find all decompositions of a bilinear map over a finite field. It can be used for proving lower bounds on the rank of a bilinear map and it has applications for improving upper bounds on the Chudnovsky-Chudnovsky algorithms [8, 23, 22]. Specifically, we compute all the decompositions for the short product of polynomials and modulo and the product of by matrices. The latter problem was out of reach with the method used in [1]. We prove, in particular, that the set of possible decompositions for this matrix product is essentially unique, up to the action of the automorphism group. It is difficult to propose a complexity analysis showing the impact of our method, since it takes into account intrinsic properties of the bilinear maps that are considered.
Roadmap
This article is organized as follows. In Section 2, we present the theoretical tools and the framework for this article, corresponding to the framework introduced in [1]. In Section 3, we present, with kind permission of the authors, unpublished improvements [2] taking into account the symmetries of bilinear maps. In Section 4, we describe the algebraic structure of specific bilinear maps. This section can be skipped on a first read, because it is only required in proofs of the following section. In Section 5, we describe the theoretical aspect of our main contribution, which relies on the construction of coverings, and illustrate it with the examples of the short product and the matrix product. We discuss specific algorithmic aspects in Section 6: this part is quite technical and can be skipped on a first read. Finally, experimental timings are given in Section 7.
2 Preliminaries
We present in this section the definition of the mathematical objects that we manipulate in this work and we define the bilinear rank. We choose the characterization given by de Groote [10] or Bürgisser et al. [7, Ch. 14]. In particular, we introduce here the framework of [1] and the underlying linear algebra problem.
2.1 Problem statement
Let be a field. Given a bilinear map , the bilinear rank problem consists in finding the minimal number of multiplications between scalars used for evaluating . The set denotes the set of bilinear maps from to . Any bilinear map from to can be seen as an element of , whose coordinates are the bilinear forms .
Example 1** (Multiplication of linear polynomials).**
Let and be two polynomials over . The product is associated to the bilinear map taking as input the vectors and such that
[TABLE]
Denoting by , , and the bilinear forms , , and , respectively, we have
[TABLE]
which corresponds to the schoolbook algorithm.
Let be an element of such that . Then, since , we can rewrite as
[TABLE]
The bilinear forms , and each correspond to exactly one multiplication over . This decomposition corresponds to the Karatsuba algorithm. Thus, we can deduce that the bilinear rank of is at most . Actually, one can show that the bilinear rank of is equal to .
Formally, a bilinear form is said to have rank one if there exist two linear forms and such that . For and , we denote by the bilinear forms . The ’s have rank one and form the canonical basis of . This implies that any bilinear form can be expressed as a linear combination of bilinear forms of rank one.
Definition 2** (Bilinear rank).**
The rank of a bilinear form , denoted by , is defined as the minimal number of bilinear forms of rank one such that is a linear combination of the ’s. Then, a family of cardinality is said to be an optimal decomposition of .
We extend this definition to bilinear maps : the rank of is the cardinality of a minimal set of bilinear forms of rank one for which there exist vectors such that
[TABLE]
We have a matrix equivalent of Definition 2. Indeed, for , there exists a matrix such that for and . In this situation, the usual matrix rank of is equal to the rank of defined as above. Let be a bilinear map of rank , for which each for is represented by . Consequently, there exists a set of matrices of rank one such that
[TABLE]
Example 3** (Short product of polynomials of degree ).**
We describe in this example the matrices associated to the short product of two polynomials of degree .
Let and be the polynomials and . We denote by the polynomial :
[TABLE]
We consider and as vectors of denoted by and , respectively. Let , and be bilinear forms defined as
[TABLE]
In order to represent the corresponding matrices, we use the canonical basis for , i.e. the bilinear forms satisfying , for . Then, the matrices associated to are
[TABLE]
2.2 A linear algebra problem
The approach of [1] consists in computing the rank of a bilinear map by considering , which is a subspace of . Indeed, finding formulas for computing the ’s is equivalent to finding a family of rank-one bilinear forms generating . Thus, we need to extend the definition of the rank to subspaces of .
Notation 4**.**
For a subspace of , we denote by the set of subspaces spanned by a free family of rank-one bilinear forms of size such that .
When , is the set of subspaces spanned by a free family of rank-one bilinear forms of size and we denote it simply by .
When and are clear from the context, these sets are simply denoted by and .
We use Notation 4 to define the rank of a subspace in Definition 5.
Definition 5** (Rank of a subspace of ).**
Let be a subspace of . We denote by the smallest such that . The set is the said to be the set of optimal decompositions of .
We observe that .
Let and . Decomposing a bilinear map into linear combination of rank-one bilinear forms is equivalent to computing . Our approach focuses on the latter point of view, which is also the point of view taken by Algorithm [1, Alg. 1].
General strategy for computing the bilinear rank
Taking into account the formalism proposed in Section 2.2, the algorithmic strategy we use to compute the bilinear rank of a bilinear map is stated as follows.
Let of dimension ;
- 2.
start with the known lower bound on the bilinear rank;
- 3.
compute ;
- 4.
if , increment and return to the previous step;
- 5.
if , is the bilinear rank and the set of optimal decompositions.
2.3 The BDEZ Algorithm (Barbulescu, Detrey, Estibals, Zimmermann)
We describe in this section Algorithm [1, Alg. 1], which is a recursive method to solve the bilinear rank problem for a bilinear map over a finite field. As described above, this is essentially equivalent to computing for of dimension .
In order to get all the vector spaces such that , we compute the vector spaces such that . In other terms, instead of enumerating all the elements of , we rather enumerate complementary subspaces of in . This restriction can be done thanks to Proposition [1, Prop. 1], reformulated as Proposition 6 using the formalism of Section 2.2.
Proposition 6**.**
Let be a subspace of dimension of , let be an integer. For any , there exists such that .
Proof.
Let be a basis of composed of rank-one matrices. We define inductively a sequence of subspaces , such that for any we have , as follows.
The set is the null subspace and satisfies and .
- 2.
For , assuming that and , there exists such that (otherwise and , which is a contradiction). Then, we define as . The subspace satisfies , and .
Taking , Proposition 6 is proved. ∎
We denote by the set of rank-one bilinear forms up to a multiplicative factor, isomorphic to . In a finite field, is a finite set of cardinality . Algorithm BDEZ requires a test to determine whether, for of dimension , we have : we denote by HasRankOneBasis this test. A naive method to perform this test is described in Algorithm 1. We could think of other methods based on solving bilinear systems, but it does not seem efficient in our applications. However, an optimized version of this algorithm is used for particular bilinear maps (such as product of by matrices, for example).
Algorithm BDEZ can be described as a recursive optimized version of the backtracking method constructing all the sets of cardinality of independent bilinear forms of rank one. The input of the first call to BDEZ is: a target subspace of dimension and an integer ( is a lower bound on the rank of , as explained at the end of Section 2.2).
Algorithm BDEZ takes into account, on Line 9, the equivalence relation “modulo ”: two distinct elements and of may be such that . Reducing each element of against (via Gauss reduction) allows us to consider a single representative for each such equivalence class modulo . A similar reduction is performed on Line 15 to compute .
The recursive calls of this algorithm can be represented by a tree in which each node at depth corresponds to a vector space of dimension generated by a basis of and rank-one matrices . For example, assuming that the initial set of rank-one bilinear forms is and ignoring the reductions computed on Line 9, we would obtain generically, for , the tree given in Figure 1.
3 Improving on BDEZ using symmetries
We present in this section, with kind permission from the authors, an unpublished improvement [2] to Algorithm BDEZ. This improvement takes into account the fact that we can define rank-preserving automorphisms of . Their action is defined in Section 3.1.
3.1 Action of automorphisms on
We work with subspaces of rather than with bilinear maps, as in Section 2.2. We describe in this section the rank-preserving group of automorphisms acting on subspaces , also referred to as the -automorphisms group.
Definition 7**.**
An element acts on via
[TABLE]
Such an element is called -automorphism.
Proposition 8**.**
The action of is a group action and its elements are all invertible.
Proof.
For and , we have
[TABLE]
Thus, the action that we defined is indeed a group action. Since all the elements of are invertible, we have automorphisms. ∎
Proposition 9** (-automorphisms preserve the rank).**
Let .
For any , we have .
- 2.
For any subspace , we also have .
Proof.
First, let of rank one. There exist and such that . There exist and such that . Since and , is a rank-one bilinear form.
Since the -automorphisms in Definition 7 preserve the rank of rank-one bilinear forms, by linearity and by definition of the rank of a bilinear form, it preserves the rank of any bilinear form. For any subspace and any , we have
[TABLE]
∎
Remark 10**.**
Note that, when , Proposition 7 is not the most general notion of -automorphisms that we may have: for simplicity, we do not take into account the possible transposition acting on any , via .
Notation 11** (Group action on matrices).**
The group is isomorphic to the group , acting on matrices via Thus, we often consider elements of as elements of and vice versa.
Example 12** (Action of ).**
Let us consider the subspace of generated by the bilinear forms represented by the matrices and defined as
[TABLE]
We take such that .
The subspace is generated by and , defined as
[TABLE]
Since we will often refer to subgroups of stabilizing elements of in the following, we define the notion of setwise stabilizer.
Definition 13** (Setwise stabilizer).**
For a subset , we denote by the subgroup of stabilizing :
[TABLE]
We use the same notation for a subspace .
In the rest of this work, we often refer to the “stabilizer” of a given set . Each time, we exclusively mean the setwise stabilizer of , which is, in general, different from the pointwise stabilizer of . Indeed, the pointwise stabilizer of is defined as .
The algorithmic improvement originally presented in [2] comes from the fact that, for any target space of dimension and any integer , we have
[TABLE]
because preserves the rank. Thus, we can restrict our interest to the computation of the quotient \hbox{\mathscr{S}_{{r}}(T)}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{Stab}(T)} instead of .
3.2 BDEZ with stabilizer
In order to find all the elements of , it is sufficient to obtain one representative per equivalence class of \hbox{\mathscr{S}{{r}}(\operatorname{Span}(T))}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{Stab}(T)}, from which one can recover the whole orbits through the group action of . Moreover, we can compute \hbox{\mathscr{S}{{r}}(T)}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{Stab}(T)} faster than . Thus, we adapt our general strategy to this idea.
General strategy for computing the bilinear rank using -automorphisms
The new algorithmic strategy we are considering is stated as follows, for a target subspace of dimension and the associated subgroup of -automorphisms stabilizing :
start with an initial guess ;
- 2.
compute \hbox{\mathscr{S}_{{r}}(T)}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{Stab}(T)} (the set up to the action of );
- 3.
if \hbox{\mathscr{S}_{{r}}(T)}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{Stab}(T)}=\emptyset, increment and return to the previous step;
- 4.
enumerate using the action of ;
- 5.
at the end, is the rank and the set of optimal decompositions.
Algorithm BDEZStab is a recursive approach for the computation of one representative per equivalence class. The input of the first call to BDEZStab is: a target subspace of dimension , the group and an integer .
Figure 2 describes this recursive approach using a tree and illustrates how some branches are pruned, relying on Proposition 14. We assume that the initial set of rank-one bilinear forms is and that we have such that , , and .
Proposition 14**.**
Let and be subspaces of such that . Then, given the orbit of a bilinear form of rank one, if satisfies , then there exists an element in the equivalence class of for the action of and such that .
Proof.
There exists such that . We can then take , which meets all the conditions. ∎
The particularity of BDEZStab is that, instead of enumerating all the elements of as in BDEZ, we restrict the enumeration to one element per equivalence class for the action of . We use in particular the fact that the additional computations such as stabilizers on Line 11 are negligible, compared to the speed-up obtained by pruning branches in BDEZ. Heuristically, BDEZStab is faster than BDEZ by a factor . This method constitutes the state of the art for the current work: our contribution is compared to the performance of this algorithm.
4 Algebraic structure of some bilinear maps
In this section, we describe the structure of some vector spaces corresponding to bilinear maps that are considered in our applications. This section can be skipped on a first read. It is needed to prove properties of specific bilinear maps that are stated in Section 5. In particular, we need to know the structure of the stabilizer of a vector space in order to be able to improve on the exhaustive search.
4.1 Short product
For the purpose of this section, we restrict our discussion to the specific case defined as follows. Let be a positive integer, let be the bilinear map defined by the short product
[TABLE]
such that . Let be the subspace of spanned by the bilinear forms that are the coordinates of , denoted by .
The matrix representing the element , where , is
{m_{0}}$${m_{1}}$${m_{\ell-1}}$${0}$${m_{1}}$${0}$${0}$${m_{0}}$$\left.\vbox{\hrule height=30.22662pt,depth=30.22662pt,width=0.0pt}\right]$$\left[\vbox{\hrule height=30.22662pt,depth=30.22662pt,width=0.0pt}\right. ,
in the canonical basis. This matrix is an upper triangular Toeplitz matrix.
Let be the matrix . The matrix is a nilpotent matrix such that
[TABLE]
and . The elements of the algebra are the upper triangular Toeplitz matrices and .
We provide in Theorem 15 a useful property describing the action of on .
Theorem 15**.**
Let any integer :
the orbit of the identity matrix for the action of is the set of invertible matrices of ; 2. 2.
the orbit of for the action of is the set of nilpotent matrices of ; 3. 3.
for any pair of elements of such that and , there exists such that
[TABLE] 4. 4.
we have and the cardinality of is .
Proof.
See A.1. ∎
4.2 Matrix product
We denote by the bilinear map corresponding to the by matrix product:
[TABLE]
We denote by the bilinear forms such that is the coefficient of for . The elements satisfy .
The bilinear map is represented by a subspace of denoted by
[TABLE]
In order to represent the elements of in terms of matrices of , we need an order on the ’s and ’s.
For the ’s, we fix the following order: if or and , which is the row-major order.
- 2.
For the ’s, we fix the following order: if or and , which is the column-major order.
Then, in the bases of and given by the ’s and ’s ordered as above, the elements of can be represented as matrices of divided in blocks of size equal to the identity matrix of . Consequently, this space is isomorphic to and all the elements of have a rank which is multiple of .
Example 16** (Matrix representation of elements of ).**
The elements of are represented by matrices of spanned by
[TABLE]
corresponding to the coefficients , , and , respectively. The previous matrices can also be expressed as
[TABLE]
respectively.
Let , and be the canonical bases of , and . The subspace can be easily characterized with the tensor notation: it is generated by the vectors, for ,
[TABLE]
Theorem 17**.**
For the group action , the subgroup stabilizing the vector space can be described as the group given by the pairs for , , and .
Proof.
See A.2. ∎
Corollary 18**.**
The elements of of a given rank lie in the same orbit under the action of .
Example 19** (Action of the stabilizer of ).**
The stabilizer of is generated by the following elements of :
[TABLE]
[TABLE]
[TABLE]
The vector space of is isomorphic to . Thus the elements of have rank [math], or .
Via the action of , all the elements of rank can all be mapped to the element
[TABLE]
Similarly, via the action of , all the elements of rank can all be mapped to the element
[TABLE]
5 Coverings of subspaces of bilinear forms
Our contribution consists in reducing the number of vector spaces that we need to enumerate in order to get those that satisfy , where is the vector space representing a given bilinear map. To this effect, we restrict the enumeration to vector spaces satisfying some properties which are intrinsic to . In this section, the definition and theoretical aspects of the set of vector spaces satisfying these properties are treated, illustrated via the example of the short product and the matrix product. In Section 6, we deal with practical and computational aspects.
5.1 Theoretical aspect
Our strategy consists, first, for any , in constructing sets for , that are all subsets of , where is a nonnegative integer, and that satisfy some property described in Definition 20.
Definition 20** (Covering of a vector space).**
Let be a nonnegative integer, and a set of nonnegative integers such that . Let be a subspace of of dimension . Let be a set of subsets where , for all . Then, is said to be a covering of if and only if, for any vector space such that , there exist an index , a subspace , and an -automorphism such that .
Proposition 21**.**
Given as above and a covering of , then, for any , we have
[TABLE]
Proof.
Let . By Proposition 6, there exists such that . Then, by Definition 20, there exist an index , a subspace , and an -automorphism such that . Taking , we thus have and , which proves the inclusion. ∎
Thus, assuming that we have a method for computing the ’s, we are able to cover the whole set . For example, the set composed of the single set \mathcal{E}_{0,r}=\hbox{\mathscr{S}_{{r-\ell}}}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{Stab}(T)} is a covering of and can be enumerated using BDEZStab. We describe below how we construct the ’s that we use in practice.
Definition 22** (Stem of a vector space).**
For a vector space , a set of subspaces of dimension is said to be a stem of if and only if, for any basis of , there exist , an -automorphism and a free family of size such that
[TABLE]
Proposition 23**.**
For a vector space , a stem of given by subspaces , and subgroups , the set , where each is a set of representatives of the quotient \hbox{\mathscr{S}{{r-\ell+k{i}}}(F_{i})}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{U_{i}}, is a covering of .
Proof.
Let be such that . Take a basis of , and complete it into a basis of using rank-one bilinear forms, denoted by . For all , write , with and .
The ’s are linearly independent. Otherwise, there would exist coefficients such that , whence , which would then contradict the fact that completes into a basis of .
Consequently, is a free family of vectors of and, as , is a basis of . Then, by Definition 22, there exist an index , a subset of size , and an -automorphism such that .
Let . Writing , with , we define . Since and , we have .
Now, consider : we also have , as -automorphisms preserve the bilinear rank, and , whence .
Finally, let be a representative of the equivalence class of in the quotient set \hbox{\mathscr{S}{{r-\ell+k{i}}}(F_{i})}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{U_{i}}: there exists an -automorphism such that . We then have
[TABLE]
where the last equality comes from the fact that . Finally, as , this proves the result. ∎
Given and a stem of , we can derive a new algorithm that computes via the computation of some intermediate sets \mathcal{E}_{i,r}=\hbox{\mathscr{S}{{r-\ell+k{i}}}(F_{i})}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{U_{i}} for .
Example 24** (Two examples of stems).**
For any vector space , let be a basis of . There exists a subset of generating (namely, ): is a stem of . There exists also a subset of generating (namely, ): is a stem of .
An enumeration algorithm that uses as a stem amounts to computing \hbox{\mathscr{S}_{{r}}(T)}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{Stab}(T)}. In this case, we did not decompose the original problem into simpler problems.
- 2.
If the stem chosen is the set , this is equivalent to enumerate a set of representatives of the quotient \hbox{\mathscr{S}_{{r-\ell}}(\operatorname{Span}(\emptyset))}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{Stab}(T)}. For this purpose, no better methods than BDEZStab is known.
Thus, BDEZStab can be seen as an approach derived from the stem . We propose here other strategies that are derived from stems, given by sets of subspaces of dimension . The enumeration of a set is interesting in practice if its cardinality is less than . However, its cost depends also on the algorithms used for the computation of quotients and stabilizers and on how large is, which is detailed below.
No automatic method is known to determine, how to choose a stem for a given vector space : we have to provide a stem for each . This task has to be done by hand specifically for each bilinear map. We will actually do so in Section 5.2 and 5.3 for the examples of the short product and the matrix. To this end, the determination of the stabilizer, as done in Section 4, plays a key role.
In order to compute a set of the form \hbox{\mathscr{S}{{r-\ell+k{i}}}(F_{i})}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{U_{i}}, we proceed in two steps. Let be a basis of . Our strategy assumes that we have a finite representation of a group such that . In Proposition 23, the larger the groups are, the smaller the ’s are. And we prefer to keep the ’s as small as possible, since it gives smaller sets to enumerate. Thus, this should lead us to choose . However, in practice, the method used in our implementation is specialized to the choice (we have ) because only in this case do we have a practical algorithm to enumerate a set of representatives for the quotient \hbox{\mathscr{S}{{r-\ell+k{i}}}(F_{i})}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{U_{i}}.
Notation 25**.**
For a free family of bilinear forms and a positive integer , we let
[TABLE]
In order to enumerate sets of the form \hbox{\mathscr{S}{{r-\ell+k{i}}}(F_{i})}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{Stab}(T)\cap\operatorname{Stab}(\mathcal{F}_{i})}, we adopt a two-step strategy.
Remark 26**.**
This strategy requires the precomputation of a set of representatives of the quotient
[TABLE]
Section 6.3 describes how to compute such a set.
However, there is a pratical limit on their dimension , due to the precomputations that are used in our method and that constitute a bottleneck. Assuming that
[TABLE]
behaves as over (which is an empirical estimate), storing a set of representatives of
[TABLE]
for would require terabytes for instance. Consequently, given the largest “” for which we are able to compute in practice
[TABLE]
we have a practical constraint on how large the ’s may be: we should have for all .
Thus, we precompute the quotient \hbox{\mathscr{S}{{r-\ell+k{i}}}}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{GL}({K^{m}})\times\operatorname{GL}({K^{n}})}. The first step consists in computing and is detailed in Section 6.1. The second step applies the action of the left transversal
[TABLE]
which can be computed using the algorithms proposed in [12] for example.
We describe in Algorithm CoveringSetsMethod the global strategy to find optimal formulae for in the sense of the bilinear rank, that is, to enumerate given a stem. We assume that we are given a subspace and a set of free families of such that forms a stem of .
Theorem 27**.**
Let be the rank of . For any positive integer , Algorithm CoveringSetsMethod proves either that
** 2. 2.
or .
In the case where , any element of is included in the set returned by Algorithm CoveringSetsMethod.
The computation of the quotient on Line 5 is detailed in Section 6.1.
5.2 A stem for the short product
We use the same notations as in Section 4.1: we denote by the bilinear forms such that
[TABLE]
and by the subspace .
In order to produce a covering of the vector spaces satisfying that we compute with CoveringSetsMethod, we need a stem of . This stem is given in Proposition 28.
Proposition 28** (Stem for the short product).**
For any the singleton is a stem of : for any basis of , there exists and of cardinality such that
[TABLE]
Proof.
We first observe that for any , . Therefore, any element of rank in has a nonzero coordinate over in its decomposition over the basis and, reciprocally, any element having a nonzero coordinate over has rank . Thus, a basis of necessarily contains an element of rank denoted by . The element has a nonzero coordinate over , when we decompose it over . Similarly, there exist and for which has rank .
We then use Theorem 15 to find an element such that
[TABLE]
which concludes. ∎
We give in Table 1 the cardinality of coverings of given by Proposition 28.
In conclusion, we need to compute the following set: . We describe in Section 6 how we perform Line 5 of Algorithm CoveringSetsMethod. The set on Line 6 of CoveringSetsMethod is, for the short product, a set containing one element, which is the identity element of .
5.3 A stem for the matrix product by over
We focus here on the special case given by the bilinear map
[TABLE]
over . The rank of this bilinear map is known to be [13]. However, all the optimal formulae are not known. We denote by the bilinear forms such that is the coefficient of for . The elements satisfy .
The target subspace of considered is denoted by
[TABLE]
The approach proposed in this section can be generalized to any matrix product (albeit at the expense of combinatorial blowup).
We use the stem of given by Proposition 29.
Proposition 29** (Covering of the matrix product).**
The set
[TABLE]
[TABLE]
is a covering of : for any basis of , there exists and such that
[TABLE]
Proof.
Let be a basis of .
If there exists an element of rank in , then, according to Corollary 18, there exists such that . Otherwise, any element of has rank smaller or equal to and we have to distinguish two cases.
- 2.
If there exists an element of rank , there exists such that and, consequently, there exists another element of rank or whose coordinate over in the basis is nonzero: we need to look at the possible orbits in which is included under the action of the subgroup of preserving the fact that is in the orbit of . We can prove that there exist such orbits and that there exists and of cardinality such that
[TABLE]
- 3.
Otherwise, all the elements of have rank and there exists and such that
[TABLE]
∎
6 How to compute subspaces containing specific bilinear forms
We propose in this section a method for computing a covering of , where is a target space of dimension . The covering is a set of subspaces containing a specific set of bilinear forms described as in Section 5.2 or 5.3. More specifically, we are interested in computing sets defined as , for bilinear forms of . Those can be described as sets of subspaces of rank containing a prescribed set of bilinear forms, up to the action of .
6.1 General approach
First, our strategy consists in precomputing the quotient \hbox{\mathscr{S}_{{m,n,r-\ell+k}}}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{GL}({K^{m}})\times\operatorname{GL}({K^{n}})}. This quotient is smaller than by construction. We explain how to compute it in Section 6.3.
Algorithm 5 explains how we compute the quotient in Algorithm CoveringSetsMethod.
Correctness of Algorithm 5.
By construction, according to Line 6, any element of is an element of
[TABLE]
First, we prove that any orbit of has a representative in .
Let be a representative of an orbit in There exist and a representative of an element of \hbox{\mathscr{S}_{{m,n,r-\ell+k}}}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{GL}({K^{m}})\times\operatorname{GL}({K^{n}})} such that . Thus, we have and the set
[TABLE]
satisfies the predicate on Line 6. Any such that satisfies
[TABLE]
which means that an element of is included in the list returned by Algorithm 5. Thus, the list returned contains at least one representative per orbit of .
- 2.
In the following, we prove that each orbit of has a unique representative in .
Assume that there exist and such that . By construction, there exists and such that and . Then , whence as on Line 4 of Algorithm 5 we enumerate only one representative of each orbit of \hbox{\mathscr{S}_{{r-\ell+k}}}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{GL}({K^{m}})\times\operatorname{GL}({K^{n}})}. Thus, .
Still by construction, there exists and such that
[TABLE]
and
[TABLE]
Then,
[TABLE]
and is in the same orbit as under the action of , which is contradictory with the definition of the quotient on Line 5.
∎
Testing the predicate on Line 6 is a problem generalizing the problem of [7, Ch. 19] and [15]: given two pairs and of , determine whether there exists two invertible matrices and such that , which is done by computing a Weierstrass–Kronecker canonical form for . When we consider more than two matrices, for example three matrices mapped to , we compute such that is mapped to and we compose it with elements of \hbox{\operatorname{Stab}{M_{0}}\cap\operatorname{Stab}{M_{1}}}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{Stab}{M_{2}}}, computed with the algorithms proposed in [12] for example. The complexity for finding all the -automorphisms in IntermediateSetViaQuotientComputation is bounded by the cardinality of (which is comparable to BDEZ) by construction, and is hard to estimate more precisely. In our applications, it appears to be negligible compared to BDEZ.
6.2 Application to the short product
We come back to the example given in Section 5.2 corresponding to the short product. We recall that is the subspace obtained from the bilinear map given by the short product modulo and that we need to compute the set for a given integer .
If we take , we can represent and by the matrices
[TABLE]
Thus, for a given couple of matrices representing bilinear forms of a subspace W\in\hbox{\mathscr{S}_{{r-\ell+2}}}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{GL}({K^{\ell}})\times\operatorname{GL}({K^{\ell}})} , we are looking for invertible matrices and such that
[TABLE]
which is done in Algorithm 6. As it is precised on Line 6 of Algorithm 6, we find and such that via Gauss reduction. Then, we need to check whether and are similar or not ( should be the null matrix for this purpose), as done on Line 9 of Algorithm 6.
Once we have computed , it remains to compute the left transversal
[TABLE]
and to compute . According to Theorem 15, we have , which means that Algorithm 6 actually returns .
In terms of complexity, we do not have explicit bounds. However, we can state that the complexity depends linearly on \#\hbox{\mathscr{S}{{r-\ell+2}}}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{GL}({K^{\ell}})\times\operatorname{GL}({K^{\ell}})} and on the number of pairs of bilinear forms per element of \hbox{\mathscr{S}{{r-\ell+2}}}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{GL}({K^{\ell}})\times\operatorname{GL}({K^{\ell}})} such that and .
6.3 Computing the orbits of vector spaces of bilinear forms
In this section, we propose an approach for computing the set \hbox{\mathscr{S}_{{m,n,d}}}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{GL}({K^{m}})\times\operatorname{GL}({K^{n}})}, required by the algorithm described in Section 6.1. Its cost is at least exponential in , and and difficult to estimate.
Notation 30**.**
We denote by the quotient \hbox{\mathscr{S}_{{d,d,d}}}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{GL}({K^{d}})\times\operatorname{GL}({K^{d}})} for any .
First, we describe how we represent elements of and we prove that given the knowledge of we can deduce the elements of \hbox{\mathscr{S}_{{m,n,d}}}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{GL}({K^{m}})\times\operatorname{GL}({K^{n}})} for any and from this precomputation.
Let be an element of . There exist rank-one bilinear forms such that . In the canonical basis of and , we represent and as matrices of and . Thus, there exist two matrices and , whose rows are given by the linear forms and respectively, and can be represented by the pair . Such a representation is not unique (for example, any permutation of the rows of gives a valid representation). In particular, for a pair of matrices representing some vector space , there exists in such that the pair of matrices , such that represents , are the reduced column echelon form of the matrices and , respectively.
Example 31**.**
Let us consider the vector space of generated by the rank-one bilinear forms represented by
[TABLE]
The pair of matrices associated to is
[TABLE]
Assuming that we have a representation of the elements of \hbox{\mathscr{S}_{{d,d,d}}}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{GL}({K^{d}})\times\operatorname{GL}({K^{d}})} in terms of pairs of matrices in reduced column echelon form, we obtain all the elements of
[TABLE]
by considering the subset of \Omega_{d}=\hbox{\mathscr{S}_{{d,d,d}}}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{GL}({K^{d}})\times\operatorname{GL}({K^{d}})} of elements represented by matrices in reduced column echelon form such that and . Given and , a set of representatives for
[TABLE]
can be seen as matrices in reduced column echelon form and for which there exists matrices , representing an element of , obtained by adding an zero columns to and , respectively, or by removing zero columns if or .
Our strategy consists in deducing from the computation of . Algorithm 7 describes this strategy: for each vector space of , we extend it to a vector space of by padding with zeros, and we consider the vector spaces that can be obtained by adding an element of rank one. We remove from the set of the vector spaces that are isomorphic via an isomorphism test. We determine whether two vector spaces and are isomorphic if there exists a basis of of rank-one bilinear forms such that the corresponding couple of matrices in reduced column echelon form is equal to . The complexity of this approach depends on the number of bases of rank-one bilinear forms of , which, compared to , is not large generically. However, there are degenerate cases for which the nomber of bases is very large (exponential in ). These cases require specific code to recognize them and to treat them separately.
The naive algorithm which checks for each pair of elements of the set whether or not they are isomorphic, computed in Line 11 of Algorithm 7, can be improved. Indeed, we propose to compute invariants for the group action induced by and to compare subspaces having the same invariants. For example, for , we consider the polynomial such that
[TABLE]
Therefore, for any , .
We have been able to compute for and with an implementation in Magma V2.21-3 [5]111The code of this implementation can be found at the address http://karancode.gforge.inria.fr. The timings are described in Table 2.
It would be interesting to obtain an upper bound on with the good order of magnitude. Indeed, we are able to say for instance that is bounded by the quantity
[TABLE]
corresponding to the number of possible rank-one bilinear forms that we add to elements of to obtain an element of . This formula leads recursively to the following bound:
[TABLE]
However, this upper bound differs by a huge factor from the true cardinality of and cannot consequently be used in a complexity analysis.
To conclude, we show in Figure 3 how the subspaces of over are related to and by using its partially ordered set structure. Each element of is represented by the corresponding couple of matrices of .
7 Experimental results
An implementation in Magma V2.21-3 [5] of the algorithms presented in the previous sections has been done1. We compare in this section the timings obtained from various instances of the bilinear rank problem for these different algorithms. Our Magma implementation of the algorithm described in [1] is clearly slower than the original C version. However, since we are interested in the speed-up obtained from our work, we need a fair approach. We show in particular that Algorithm BDEZStab, although it is neither multithreaded nor written in C, improves considerably on the timings estimated in [1]. The new algorithm proposed in the current article is denoted by CoveringSetsMethod: compared to Algorithm BDEZStab, it constitutes a huge speed-up on particular instances of the bilinear rank problem among which the matrix product, discussed in Sections 7.2 and 7.3, and the short product, discussed in Section 7.4. All the timings presented in this section have been done on a single core of a 3.3 GHz Intel Core i5-4590 processor.
7.1 Recursive approach
We need a few notations to denote the various bilinear maps we are interested in:
denotes the product of matrices by ,
- 2.
denotes the product of polynomials modulo ,
- 3.
denotes the product of polynomials modulo .
We give in Table 3 timings for various bilinear maps and for the implementations of BDEZ and BDEZStab. The number of tests represents the number of calls to HasRankOneBasis.
It is possible to estimate the time it would take to obtain a result for a bilinear rank problem out of reach for BDEZ or BDEZStab. We denote by the number of calls to HasRankOneBasis in these algorithms when the input is equal to . ( is the dimension of the vector space corresponding to the bilinear map). Since when is too large, BDEZ is too expensive, there is a practical limit on the known values of , being a positive integer. We consider the ratio to estimate . Assuming that this ratio decreases with , which seems to hold empirically, we have
[TABLE]
being a positive integer of .
Thus, we are able to predict timings for bilinear maps indicated in Table 3 via to this assumption, which allows us to compare Algorithm BDEZ to other approaches for problems of larger sizes. We estimate the number of tests by computing
[TABLE]
where is the difference for representing a bilinear map and is the largest integer for which we are able to compute . The time can be estimated with a similar technique. We observe that the speed-up seems to match with , as expected. The estimated values in Table 3 relying on BDEZStab have not been effectively done because the implementation of CoveringSetsMethod allowed us to obtain more results, more efficiently. The estimations rely on the heuristic given by the Inequality 1. In the global strategy, we increase progressively the lower bound on the rank, before running BDEZ, BDEZStab or CoveringSetsMethod. For , the time spent in those algorithms is negligible, because of the exponential growth of their complexity.
It is not clear how to estimate timings for our approach CoveringSetsMethod beyond what has been done and reported in Table 3. However, for the set of bilinear maps for which CoveringSetsMethod allows one to compute all the optimal formulae, we observe a clear speed-up compared to BDEZStab.
In order to compute bilinear maps of larger degrees using this method, we need to be able to compute and store all the elements of
[TABLE]
for (and even more for other bilinear maps), which has not been done yet and requires a specific effort for an optimized implementation of the algorithm described in Section 6.3. Moreover, being able to decompose a matrix product of larger dimensions, such as by , requires to improve on the theoretical aspect of our strategy, since the size of the required set
[TABLE]
is expected to be too large, based on the apparent exponential growth of the progression of the sets described in Table 2.
In the following, we describe how we computed optimal formulae for bilinear maps given in Table 3 via our approach using the stems. We provide some technical details, specific to each bilinear map, necessary for an implementation.
7.2 Matrix product by
We give in this section the timings obtained with our approach for computing the bilinear rank of the matrix product over . We use the same notations as in Section 5.3. We recall that we denote by the bilinear map
[TABLE]
We denote by the bilinear forms such that is the coefficient of . The subspace is defined by
[TABLE]
As described in Section 6.1, we need to precompute the quotients
[TABLE]
for , and, given the stem that is used, we can restrict the enumeration to subspaces containing at least one element of rank . The techniques for computing theses subsets are described in Section 6.3.
The intermediate sets, corresponding to the quotient computed using IntermediateSetViaQuotientComputation in Section 6, were computed in seconds. They are defined as the following sets: , , , , . For the set , we actually used an additional trick, described in B, which allowed us to consider only a much smaller subset .
We give in Table 4 the time required to compute the second step of Section 6.1, which corresponds to calls to HasRankOneBasis.
In conclusion, we are able to decompose over and to give all the possible optimal decompositions. We have a speed-up of compared to our implementation of Algorithm BDEZStab. Although the rank of this bilinear map was already known thanks to Hopcroft and Kerr [13], determining all the possible optimal decompositions was not a well studied problem to our knowledge.
We prove with our algorithm that there is only one class of equivalence of vector spaces containing , for the group action induced by . It is interesting to note that this is also the case for . We do not have this kind of result for the short product for example.
7.3 Matrix product by
We denote by the bilinear map
[TABLE]
and its coefficients.
We compute the following sets, corresponding to the quotient computed with IntermediateSetViaQuotientComputation in Section 6, within seconds:
,
- 2.
.
We used, in particular, the fact that for any basis of , there exist two elements and of such that there exists an element in whose decomposition over has the following shape:
[TABLE]
The timings for the second step of the method proposed in Section 6 are described in Table 5.
We obtained a speed-up of compared to our implementation of BDEZStab, and we found elements of , divided in equivalence classes of solutions with respect to the action of . The computations described in Table 5 used an improved basic test HasRankOneBasis specialized for . This test uses the fact that, given a subspace of or , we have two elements and in such that there exist such that and have rank one. We enumerate the elements such that the rank of or is one, instead of enumerating the whole set of rank-one bilinear forms.
7.4 Short product
We present in this section the timings obtained with our method for the decomposition of the short product. We managed to obtain all the elements of , where is the vector space generated by the bilinear forms associated to for and and .
The last column of Table 6 describes the number of equivalence classes of vector spaces in , with respect to the group .
7.5 Circulant product
We present in this section how to find, with our approach, optimal decompositions of the polynomial product modulo . We denote by the target space spanned by the coefficients of the bilinear map
[TABLE]
The structure of allows us to gain an interesting speed-up. Indeed, has the following structure: there exists, up to a constant mulitplicative factor, a unique element of rank one and a hyperplane such that contains all the elements of rank and such that all the elements of rank are included in . Moreover, the action of on is transitive (proved by an exhaustive enumeration in ), which means that all the elements of rank are in the same orbit. Consequently, it is also transitive on and all the elements of rank are in the same orbit.
Let be a basis of . We distinguish then cases: either there exists such that has rank , or there is no such , which implies that . We deduce from these observations the following sets to compute:
and
- 2.
\mathcal{E}_{1}=\hbox{\mathscr{S}_{{9}}(\operatorname{Span}(H))}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{Stab}(H)} (any element satisfies ).
We obtain the set via the computation of a covering of obtained with
[TABLE]
We have in Table 7 the timings for the second step of the procedure described in Section 6.1. The set contains elements divided in equivalence classes of solutions. Interestingly, the set does not correspond to any element of . It means that, for a basis of bilinear forms of rank one containing and generating a subspace of , the coordinate of the elements of rank on is zero.
8 Conclusions
One of the most challenging problems in the field of bilinear complexity is the decomposition of the bilinear map given by the product of matrices. Currently, our approach cannot be used to tackle this problem. However, we believe that it could be approached by further research in the direction of the Hamming weight idea developed in B. An important obstacle is the fact that, assuming that the rank is , it would require to compute \hbox{\mathscr{S}_{{15}}}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{GL}({K^{9}})\times\operatorname{GL}({K^{9}})}, which is very large.
Another aspect which is not well understood currently for our approach is to establish a realistic complexity analysis. It requires a theoretical understanding of how the cardinality of the quotients \hbox{\mathscr{S}_{{d}}}\kern 0.0pt/\kern-1.00006pt\lower 1.50696pt\hbox{\operatorname{GL}({K^{d}})\times\operatorname{GL}({K^{d}})} behave asymptotically and a classification of their representatives.
Further research could focus on symmetric decompositions of bilinear maps, which have applications for the multiplication of polynomials over “small” finite fields (such as ). Especially, we can improve on the upper bounds on the rank of the product of two polynomials of fixed degrees by improving on the bilinear complexity of the multiplication algorithms used in the Chudnovsky-Chudnovsky approach [8, 23, 22].
Finally, the approach proposed in this work allows one to compute exhaustively the optimal formulae for new bilinear maps, which was not feasible with [1]. Moreover, it uses combinatorial objects which are not well documented in the litterature, which may rekindle curiosity for them.
Acknowledgements
The author is grateful to Jérémie Detrey and Emmanuel Thomé for their helpful comments and suggestions.
References
- [1]
R. Barbulescu, J. Detrey, N. Estibals, and P. Zimmermann.
Finding optimal formulae for bilinear maps.
Arithmetic of finite fields: 4th International Workshop, WAIFI 2012, Bochum, Germany, July 16-19, 2012. Proceedings, pages 168–186, 2012.
doi:10.1007/978-3-642-31662-3_12.
- [2]
R. Barbulescu, J. Detrey, N. Estibals, and P. Zimmermann.
Finding optimal formulae for bilinear maps.
AriC Seminar, Mar. 2012.
URL: https://hal.inria.fr/hal-01413162.
- [3]
A. Bernardi, J. Brachat, P. Comon, and B. Mourrain.
General tensor decomposition, moment matrices and applications.
Journal of Symbolic Computation, 52:51–71, 2013.
International Symposium on Symbolic and Algebraic Computation.
doi:10.1016/j.jsc.2012.05.012.
- [4]
M. Bläser.
On the complexity of the multiplication of matrices of small formats.
Journal of Complexity, 19(1):43–60, 2003.
doi:10.1016/S0885-064X(02)00007-9.
- [5]
W. Bosma, J. Cannon, and C. Playoust.
The Magma algebra system. I. The user language.
J. Symbolic Comput., 24(3-4):235–265, 1997.
Computational algebra and number theory (London, 1993).
- [6]
R. W. Brockett and D. Dobkin.
On the optimal evaluation of a set of bilinear forms.
Linear Algebra and its Applications, 19(3):207–235, 1978.
doi:10.1016/0024-3795(78)90012-5.
- [7]
P. Bürgisser, M. Clausen, and M. A. Shokrollahi.
Algebraic Complexity Theory.
Springer, 1st edition, 2010.
- [8]
D. Chudnovsky and G. Chudnovsky.
Algebraic complexities and algebraic curves over finite fields.
Journal of Complexity, 4(4):285–316, 1988.
doi:10.1016/0885-064X(88)90012-X.
- [9]
D. Coppersmith and S. Winograd.
Computational algebraic complexity editorial matrix multiplication via arithmetic progressions.
Journal of Symbolic Computation, 9(3):251–280, 1990.
doi:10.1016/S0747-7171(08)80013-2.
- [10]
H. F. de Groote.
Lectures on the Complexity of Bilinear Problems.
Springer-Verlag, 1987.
- [11]
D. Harvey, J. van der Hoeven, and G. Lecerf.
Even faster integer multiplication.
Technical report, ArXiv, 2014.
- [12]
D. F. Holt, B. Eick, and E. A. O’Brien.
Handbook of computational group theory.
Discrete mathematics and its applications. Chapman & Hall/CRC, Boca Raton, 2005.
URL: http://opac.inria.fr/record=b1102239.
- [13]
J. E. Hopcroft and L. R. Kerr.
On minimizing the number of multiplications necessary for matrix multiplication.
SIAM Journal on Applied Mathematics, 20(1):30–36, 1971.
- [14]
J. Håstad.
Tensor rank is NP-complete.
Journal of Algorithms, 11(4):644–654, 1990.
doi:10.1016/0196-6774(90)90014-6.
- [15]
J. JáJá.
Optimal evaluation of pairs of bilinear forms.
SIAM Journal on Computing, 8(3):443–462, 1979.
- [16]
A. Karatsuba and Y. Ofman.
Multiplication of multidigit numbers on automata.
Soviet Physics-Doklady, 7:595–596, 1963.
(English translation).
- [17]
J. D. Laderman.
A noncommutative algorithm for multiplying matrices using multiplications.
Bull. Amer. Math. Soc., 82(1):126–128, 1976.
- [18]
F. Le Gall.
Powers of tensors and fast matrix multiplication.
In Proceedings of the 39th International Symposium on Symbolic and Algebraic Computation, ISSAC ’14, pages 296–303. ACM, 2014.
- [19]
P. Montgomery.
Five, six, and seven-term Karatsuba-like formulae.
IEEE Transactions on Computers, 54(3):362–369, 2005.
- [20]
I. Oseledets.
Optimal Karatsuba-like formulae for certain bilinear forms in GF(2).
Linear Algebra and its Applications, 429(8–9):2052–2066, 2008.
doi:10.1016/j.laa.2008.06.004.
- [21]
V. Y. Pan.
Strassen’s algorithm is not optimal trilinear technique of aggregating, uniting and canceling for constructing fast algorithms for matrix operations.
In Proceedings of the 19th Annual Symposium on Foundations of Computer Science, SFCS ’78, pages 166–176, Washington, DC, USA, 1978. IEEE Computer Society.
URL: http://dx.doi.org/10.1109/SFCS.1978.34, doi:10.1109/SFCS.1978.34.
- [22]
M. Rambaud.
Finding optimal Chudnovsky-Chudnovsky multiplication algorithms.
Arithmetic of Finite Fields: 5th International Workshop, WAIFI 2014, Gebze, Turkey, September 27-28, 2014. Revised Selected Papers, pages 45–60, 2015.
doi:10.1007/978-3-319-16277-5_3.
- [23]
H. Randriambololona.
Bilinear complexity of algebras and the Chudnovsky–Chudnovsky interpolation method.
Journal of Complexity, 28(4):489–517, 2012.
doi:10.1016/j.jco.2012.02.005.
- [24]
A. Schönhage and V. Strassen.
Schnelle Multiplikation großer Zahlen.
Computing, 7(3-4):281–292, 1971.
- [25]
A. V. Smirnov.
The bilinear complexity and practical algorithms for matrix multiplication.
Computational Mathematics and Mathematical Physics, 53(12):1781–1795, 2013.
doi:10.1134/S0965542513120129.
- [26]
V. Strassen.
Gaussian elimination is not optimal.
Numerische Mathematik, 13(4):354–356, 1969.
- [27]
A. L. Toom.
The complexity of a scheme of functional elements realizing the multiplication of integers.
Soviet Mathematics Doklady, 3:714–716, 1963.
(English translation).
Appendix A Computation of stabilizers
A.1 Stabilizer of the short product
In this section, we prove Theorem 15, using the notations of Section 4.1: the bilinear map
[TABLE]
is the bilinear map corresponding to the short product modulo , are the bilinear forms such that
[TABLE]
and is the subspace .
We recall that is represented by the ring of polynomials of degree less than or equal to evaluated in the matrix , which is a nilpotent matrix. For example, for ,
[TABLE]
We observe that the bilinear forms of rank exactly within are described by the matrices that can be expressed as where is a polynomial of degree smaller or equal to over such that . See 15
Proof.
First, we prove that, for any element of rank , there exists a polynomial of degree at most such that and , and that
[TABLE]
Any element in the orbit of has rank and any element of rank in is associated to a polynomial evaluated in of degree such that . It remains to prove that the orbit of corresponds exactly to the set of rank- elements. Given such that , we denote by the element . This element is in because, for any , we have , which is a polynomial evaluated in of degree at most . We have:
[TABLE]
- 2.
We prove that, for any element of rank , there exists a polynomial of degree at most such that , and , and that
[TABLE]
An element of the orbit of is an element of rank and an element of rank in is associated to a polynomial evaluated in of degree at most such that and . It remains to prove that can mapped to any element of rank via the action of .
Let be the vector , such that corresponds to the last colum of . We have . Thus, let be the matrix whose columns are given by the tuple . We have and . Consequently, we have and . We take :
[TABLE]
- 3.
Let be a couple of elements of such that and . Let be the corresponding matrices. According to the previous points, there exist such that and such that . Consequently, we have
[TABLE]
- 4.
We prove that we have and that, for any , there exists a polynomial of degree at most such that and
[TABLE]
Let . Since , there exists such that and, since , . We have .
Multiplying a matrix by on the left shifts the rows upward and multiplying on the right shifts the columns on the right. Therefore, denoting by the coefficients of , with and for , we have
[TABLE]
More particularly, is equal to the evaluation in of a polynomial such that , from which we deduce that
[TABLE]
Given the form of the elements of , its cardinality is equal to the number of polynomials of degree at most such that , which is . Combining with the fact that there are pairs of elements of such that and , we have .
∎
A.2 Stabilizer of the matrix product
We denote by the vector space given by the product of matrices by , which is isomorphic to (we do not use the canonical basis for this representation). For the group action , we want to prove Theorem 17. See 17
Proof.
Let be a pair of invertible matrices such that . For any and , we denote by the matrix , where is the canonical basis of . Denoting by the blocks of and the blocks of , we have for any and . Consequently, since , we have
[TABLE]
Let such that is not null and any integer in . We have the inclusion
[TABLE]
and, since is invertible, we even have the equality. Thus, for any such that is not null, we have shown that is invertible. We have the same property for the blocks of .
Combining the fact that the blocks of and that are not null are invertible and Equation (2), we can conclude that the stabilizer of is generated by matrices such that there exists satisfying
[TABLE]
∎
Appendix B Using the Hamming weight for the matrix product
We describe in this section a trick allowing one to speed-up the execution of our approach for the matrix product. However, this part is technical and can be skipped on a first read.
We still denote by the subspace of corresponding to the coefficients of the product of by matrices. We recall the stem of that we consider:
[TABLE]
[TABLE]
We define the following sets:
,
- 2.
,
- 3.
,
- 4.
and
- 5.
.
In theory, we have to enumerate the elements of the sets , , , and , denoted by , , , and , respectively. However, one can notice that, given such that
[TABLE]
it may happen that there exists such that
[TABLE]
and
[TABLE]
In other terms, the ’s corresponding to the sets to enumerate do not form a partition of .
Thus, we propose, if possible, to enumerate a subset of , rather than the whole set, without losing exhaustivity. The strategy that is proposed is related to the notion of Hamming weight of the elements , and .
Definition 32** (Hamming weight for ).**
Let and a basis of rank-one bilinear forms of . Any has a unique decomposition over :
[TABLE]
We define its Hamming weight over as
[TABLE]
We can extend the definition of the Hamming weight to any subset of :
[TABLE]
The Hamming weight over some basis has a useful property related to the bilinear rank stated in Lemma 33.
Lemma 33**.**
Let and a basis of composed of rank-one bilinear forms. For any subset of , we have
[TABLE]
Proof.
Clear from the definition of the rank of a set given in Definition 5. ∎
We describe in Theorem 34 what is the subset of that we consider.
Theorem 34**.**
Let be a subspace such that and let be a basis of composed of rank-one bilinear forms. Let be the subset of elements such that
[TABLE]
We obtain all the elements of via the enumeration of , , , and .
We prove Theorem 34 within steps:
We prove in Lemma 35 that if , a subspace obtained as can also be obtained as , with , or . 2. 2.
Otherwise, if , it remains to prove that we do not lose in generality if we assume that , which is done in Lemma 36.
Lemma 35**.**
Let and let . We assume that and . Let be a basis of rank-one bilinear forms of . If , there exists such that and there exists such that or .
Proof.
We have by hypothesis . Thus, there exist two elements and such that the coordinate of on is not zero and the coordinates of on is zero. By considering the vector space , we have . Moreover, we have and . Thus, . Consequently, .
If there exists in two elements and of rank smaller or equal to such that , then
[TABLE]
Otherwise, there exists such that
[TABLE]
and , which concludes. ∎
Lemma 36**.**
Let . The subspace satisfies hypotheses H1 and H2 state as follows.
- H1:
For any such that there exists satisfying and , we have, for any basis of rank-one bilinear forms of ,
[TABLE]
- H2:
There do not exist and such that , or and (in other terms, can not be obtained via the enumeration of , , or ).
Then, there exists and such that , , and has a basis of rank-one bilinear forms such that
[TABLE]
Proof.
Let be such that . Take a basis of , and complete it into a basis of using rank-one bilinear forms, denoted by . For all , write , with and . The ’s form a basis of . In our context, we are concerned by the case for any (otherwise H2 is not satisfied). Since we assume Hypothesis H1, it is enough to prove that there exists such that .
There is necessarily a couple such that Otherwise, we would have .
If and , then
[TABLE]
and, by Lemma 33, . Henceforth, we prove that this is contradictory, because . Indeed, there are two cases.
If has rank , the conclusion follows.
- 2.
If is isomorphic to , whose rank is equal to : and have the same rank according to [10] and is a vector space of dimension one generated by a bilinear form of rank .
Consequently, or . ∎
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] R. Barbulescu, J. Detrey, N. Estibals, and P. Zimmermann. Finding optimal formulae for bilinear maps. Arithmetic of finite fields: 4th International Workshop, WAIFI 2012, Bochum, Germany, July 16-19, 2012. Proceedings , pages 168–186, 2012. doi:10.1007/978-3-642-31662-3_12 . · doi ↗
- 2[2] R. Barbulescu, J. Detrey, N. Estibals, and P. Zimmermann. Finding optimal formulae for bilinear maps. Ari C Seminar, Mar. 2012. URL: https://hal.inria.fr/hal-01413162 .
- 3[3] A. Bernardi, J. Brachat, P. Comon, and B. Mourrain. General tensor decomposition, moment matrices and applications. Journal of Symbolic Computation , 52:51–71, 2013. International Symposium on Symbolic and Algebraic Computation. doi:10.1016/j.jsc.2012.05.012 . · doi ↗
- 4[4] M. Bläser. On the complexity of the multiplication of matrices of small formats. Journal of Complexity , 19(1):43–60, 2003. doi:10.1016/S 0885-064X(02)00007-9 . · doi ↗
- 5[5] W. Bosma, J. Cannon, and C. Playoust. The Magma algebra system. I. The user language. J. Symbolic Comput. , 24(3-4):235–265, 1997. Computational algebra and number theory (London, 1993). doi:10.1006/jsco.1996.0125 . · doi ↗
- 6[6] R. W. Brockett and D. Dobkin. On the optimal evaluation of a set of bilinear forms. Linear Algebra and its Applications , 19(3):207–235, 1978. doi:10.1016/0024-3795(78)90012-5 . · doi ↗
- 7[7] P. Bürgisser, M. Clausen, and M. A. Shokrollahi. Algebraic Complexity Theory . Springer, 1st edition, 2010.
- 8[8] D. Chudnovsky and G. Chudnovsky. Algebraic complexities and algebraic curves over finite fields. Journal of Complexity , 4(4):285–316, 1988. doi:10.1016/0885-064X(88)90012-X . · doi ↗
