Binary Subspace Codes in Small Ambient Spaces

Codes in finite projective spaces equipped with the subspace distance have been proposed for error control in random linear network coding. Here we collect the present knowledge on lower and upper bounds for binary subspace codes for projective dimensions of at most $7$. We obtain several improvements of the bounds and perform two classifications of optimal subspace codes, which are unknown so far in the literature.


Introduction
For a prime power q > 1 let F q be the finite field with q elements and F v q the standard vector space of dimension v ≥ 0 over F q . The set of all subspaces of F v q , denoted by PG(v − 1, F q ), is a finite modular geometric lattice with meet X ∧ Y = X ∩ Y and join X ∨ Y = X + Y . Networkerror-correcting codes developed by Cai and Yeung, see [5,34], use subspaces of PG(v − 1, F q ) as codewords. We call any set C of subspaces of F v q a q-ary subspace code. An information-theoretic analysis of the Koetter-Kschischang-Silva model, see [30,33], motivates the use of the so-called subspace distance With this the minimum distance in the subspace metric of a subspace code C containing at least two codewords is defined as d S (C) := min {d S (X, Y ) : X, Y ∈ C, X = Y } .
If #C ≤ 1 we formally set d S (C) = ∞. A subspace code C is called a constant-dimension code if all codewords have the same dimension. A k-dimensional subspace is also called k-subspace and we also write point, line, plane, and solid for 1-, 2-, 3-, and 4-subspaces, respectively. Hyperplanes are (v − 1)-subspaces in F v q , i.e., they have co-dimension one. The set of k-subspaces is denoted by G q (v, k).

Definition 1.
A q-ary (v, M, d) subspace code, also referred to as a subspace code with parameters (v, M, d) q , is a set C of subspaces of F v q with M = #C and minimum subspace distance d. The dimension distribution of C is the sequence δ(C) = (δ 0 , δ 1 , . . . , δ v ) defined by δ k = δ k (C) = #{X ∈ C : dim(X) = k}. Two subspace codes C 1 , C 2 are said to be isomorphic if there exists an isometry (with respect to the subspace metric) φ : F v q → F v q between their ambient spaces satisfying φ(C 1 ) = C 2 .
The dimension distribution of a subspace code may be seen as a q-analogue of the Hamming weight distribution of an ordinary block code. As in the block code case, the quantities δ k = δ k (C) are non-negative integers satisfying v k=0 δ k = M = #C. Problem. For a given field size q, dimension v ≥ 1 of the ambient space and minimum distance d ∈ {1, . . . , v} determine the maximum size A q (v, d) = M of a q-ary (v, M, d) subspace code and-as a refinement-classify the corresponding optimal codes up to subspace code isomorphism.
More generally, for subsets T ⊆ {0, 1, . . . , v}, we denote the maximum size of a (v, M, d ) q subspace code C with d ≥ d and δ k (C) = 0 for all k ∈ {0, 1, . . . , v} \ T by A q (v, d; T ), and refer to subspace codes subject to this dimension restriction accordingly as (v, M, d; T ) q codes. For T = {0, . . . , v} we obtain (general) subspace codes and for T = {k} we obtain constantdimension codes and are able to treat both cases, as well as generalizations, in a common notation. While a lot of research has been done on the determination of the numbers A q (v, d; k) = A q (v, d; {k}), i.e., the constant-dimension case, see e.g. [12,16,19], only very few results are known for #T > 1, see e.g. [24]. The purpose of this paper is to advance the knowledge in the mixed-dimension case and partially solve the above problem for q = 2 and small v.
The Gaussian binomial coefficient v k q = k−1 i=0 q v−i −1 q k−i −1 gives the number of k-dimensional subspaces of F v q . Since these numbers grow very quickly, especially for k ≈ v/2, the exact determination of A q (v, d) appears to be an intricate task-except for some special cases. Even more challenging is the refined problem of enumerating the isomorphism types of the corresponding optimal subspace codes (i.e., those of size A q (v, d)).
The remaining part of this paper is structured as follows. In Section 2 we introduce some notation and preliminary facts. Dimensions v ≤ 5 are treated in Section 3. For the cases v ∈ {6, 7, 8} we have devoted sections 4, 5, and 6, respectively. A brief summary and conclusion is drawn in Section 7.

Preliminaries
In this section we summarize some notation and well-known insights that will be used in the later parts of the paper.
2.1. Gaussian elimination and representations of subspaces. Elements in PG(v − 1, F q ) can be represented by matrices. To this end, let A ∈ F k×v q be a matrix of full rank, i.e., rank k. The row-space of A forms a k-dimensional subspace of F v q , so that we call A a generator matrix of an element of G q (v, k). Since the application of the Gaussian elimination algorithm onto a generator matrix A does not change the row-space, we can restrict ourselves onto generator matrices which are in reduced row echelon form (rref), i.e., the matrix has the shape resulting from a Gaussian elimination. This gives a unique and well-known representation. We denote the underlying bijection by τ : G q (v, k) → A ∈ F k×v q : rk(A ) = k, A in rref . Slightly abusing notation, we apply τ for all values 1 ≤ k ≤ v without referring to the involved parameters, which will be clear from the context. Given a matrix A ∈ F k×v q of full rank we denote by p(A) ∈ F v 2 the binary vector whose k 1-entries coincide with the pivot columns of A. For each subspace U of F v q we use the abbreviation p(U ) = p(τ (U )). Note that the number of ones in p(U ), i.e., the weight wt(p(U )), coincides with the (vector-space) dimension dim(U ) = k.

2.2.
Maximum rank distance codes. For the set F m×n q of m×n-matrices over F q the mapping d : was proven in [6]. If the bound is met, C is called maximum rank distance (MRD) code. They exist for all parameters and can e.g. be constructed using linearized polynomials, i.e., , which are in bijection to n × n-matrices over F q . If the domain for x is restricted to a fixed k-dimensional F q -subspace W of F q n , then we obtain a bijection to k × nmatrices over F q . The parameter l and the α i determine the rank.
with a i ∈ F q n gives an k × n MRD code with minimum rank distance δ.
Those codes are often called Gabidulin codes, referring to [15]. Let I k denote k × k unit matrix (for an arbitrary field size q) and A|B denote the column-wise concatenation of two matrices with the same number of rows. For each matrix M ∈ F k×n q we can obtain a k-subspace in F n+k q via τ −1 (I k |M ), which is called lifting. Applying the lifting construction to MRD codes gives socalled lifted MRD (LMRD) codes. Specialized to Gabidulin codes, a q-ary lifted Gabidulin code It can be defined in a coordinate-free manner as follows, see e.g. [22,Sect. 2.5]: The ambient space is taken as with a i ∈ F q n . The code G forms a geometrically quite regular object. The most significant property, shared by all lifted MRD codes with the same parameters, is that G forms an exact 1-cover of the set of all (k − δ)-subspaces of V that are disjoint 1 from the special (v − k)-subspace S = {0} × F q n .
2.3. The automorphism group of PG(v − 1, F q ), d S . Let us start with a description of the automorphism group of the metric space PG(v − 1, F q ) relative to the subspace distance. The linear group GL(v, F q ) acts on PG(v − 1, F q ) as a group of F q -linear isometries. Whenever q is not prime there are additional semilinear isometries arising from Aut(F q ). Moreover, mapping a subspace X ⊆ F v q to its dual code X ⊥ (with respect to the standard inner product) respects the subspace distance and hence yields a further automorphism π of the metric space PG(v − 1, F q ). However, π reverses the dimension distribution of a subspace code. This implies , viewed as a metric space with respect to the subspace distance, is generated by GL(v, F q ), Aut(F q ) and π. More precisely, G is the semidirect product of the projective general semilinear group PΓL(v, F q ) with a group of order 2 acting by matrix transposition on PGL(v, F q ) and trivially on Aut(F q ).
In our case q = 2 the semilinear part is void and we mostly will not use π, so that the isomorphism problem for subspace codes reduces to the determination of the orbits of GL(v, F 2 ). Note that GL(v, F q ) acts transitively on G q (v, k). Moreover, for any integer triple a, b, c satisfying 0 ≤ a, b ≤ v and max{0, a + b − v} ≤ c ≤ min{a, b} the group GL(v, F q ) acts transitively on ordered pairs of subspaces (X, Y ) of F v q with dim(X) = a, dim(Y ) = b, and dim(X ∩ Y ) = c. In other words, the corresponding Grassmann graph is distance-regular, where the graph distance is half the subspace distance. In the later parts of the paper we repeatedly classify subspace codes up to isomorphism. To this end we utilize a software package developed by Thomas Feulner, see [13,14].

2.4.
Optimization problems for A q (v, d; T ). The problem of the determination of A q (v, d; T ) can be easily described as a maximum clique problem. To this end we build up a graph G with the subspaces of F v q with dimensions in T as vertices. Two vertices are joined by an edge iff the subspace distance between the two corresponding subspaces is at least d. This may be directly translated to an integer linear programming (ILP) formulation. However, tighter, with respect to the integrality gap, i.e., the difference between the optimal target value of the linear relaxation and the original problem, formulations are possible. For modeling variants in the constant-dimension case we refer e.g. to [31]. In order to allow a compact representation, we denote the ball in F v q with radius r, with respect to the subspace distance, and center W , for all Proposition 1. For odd d and all suitable other parameters we have: Proof. Whenever dim(U ) ∈ T , the binary variables x U have the interpretation x U = 1 iff U ∈ C.
The target function counts the number of codewords with dimensions in T . (If dim(U ) / ∈ T , then we may set x U = 0 without violating any constraints or changing the target function.) It remains to check that each feasible solution of the ILP above corresponds to a subspace code with minimum subspace distance at least d and that each such code corresponds to a feasible solution of the ILP. For the latter, consider U, U ∈ C. Since d S (U, U ) ≥ d, not both U and U can be contained in B (d−1)/2 (W ) as d is a metric. For the other direction we need to ensure that for all subspaces U , If T = {0, 1, . . . , v}, then some variables and constraints might be redundant, which however is automatically observed in the presolving step of the state-of-the-art ILP solvers. Based on known upper bounds on A q (v , d ; k) the additional inequalities for k > l, and the indicator function 1 |k−l|<d is 1 if |k−l| < d and 0 otherwise, are valid. For k ≤ l the condition U incident with L means U ≤ L and there are of course at most A q (l, d; k) k-subspaces contained in L. If |k − l| < d and L ∈ C, then no k-subspace contained in L can be a codeword due to the minimum subspace distance. For k > l the condition U incident with L means L ≤ U and a similar reasoning applies. However, many (k, l, a) triples lead to redundant constraints. Clearly if a < a , then Inequality (3) for (k, l, a) implies Inequality (3) for (k, l, a ). Moreover, if A q (l, d; k) = 1 for k ≤ l or A q (v − l, d, k − l) = 1 for k > l, then Inequality (3) for (k, l, a) is implied by the constraints from the ILP of Proposition 1. Removing these redundancies, we obtain the following more manageable set of additional constraints: If we add the inequalities from (3) for all (k, l, a) ∈ S to the ILP formulation of Proposition 1, we obtain an ILP formulation for the determination of A q (v, d; T ), where any further inequality from (3) is redundant.
While the number of constraints in the ILP of Lemma 4 is larger than in the ILP of Proposition 1, solution times typically are smaller. Any known upper bound is not known, then we may take the smallest known upper bound as value of a in the specification of S.
As an example we consider the case A 2 (6, 3). Here, the ILP of Proposition 1 reads: Using the exact values of A 2 (v, 3; k) for v ≤ 5, the set S of Lemma 4 can be chosen as (2,5,9), (3,1,9), (3,5,9), (4,1,9), (4, 2, 5)} and the additional inequalities are given by We remark that the stated inequalities of Proposition 1 are also valid for even d. However, subspaces with subspace distance d−1 need to be excluded by additional inequalities. To this end let a, b, and i be non-negative integers with a+b−2i = d−1 and a < b.
Here, Λ may be replaced by any known upper bound for A q (v − i, d; b − i). We remark that there are also other inequalities with all coefficients being equal to 1 achieving the same goal. However, those inequalities are more numerous and out of the scope of this paper.
A common method to reduce the complexity of the problem of the determination of A q (v, d), see [31] for the constant-dimension case, is to prescribe automorphisms, which results in lower bounds. For each automorphism ϕ we can add the constraints x U = x ϕ(U ) for all U ≤ F v q , which reduces the number of variables. Due to the group structure, several inequalities will also become identical, so that their number is also reduced. This approach is also called Kramer-Mesner method and the reduced system can be easily stated explicitly, see [31] for the constantdimension case. Of course the optimal solution of the corresponding ILP gives just a lower bound, which however matches the upper bound for some instances and well chosen groups of automorphisms. An example for the prescription of automorphisms is given in Section 4.

Subspace codes of very small dimensions and general results
For each dimension v of the ambient space the possible minimum subspace distances are contained in {1, 2, . . . , v}. Arguably, the easiest case is that of minimum subspace distance and there is a unique isomorphism type, i.e., taking all subspaces. The quantity A q (v, 2) was determined in [1]. If v is odd, then A q (v, v) = 2 and there are exactly (v + 1)/2 isomorphism types consisting of Indeed, all codewords have to have dimension m. The number of isomorphism classes of such spreads or, equivalently, the number of equivalence classes of translation planes of order q m with kernel containing F q under the equivalence relation generated by isomorphism and transposition [7,26], is generally unknown (and astronomically large even for modest parameter sizes). For v ∈ {2, 4, 6} the Segre spread, see [32], is unique up to isomorphism. This is pretty easy to check for v < 6 and done for v = 6 in [17]. For v = 8 there are 8 isomorphism types, see [8]. The Beside dimension k the codewords can only have dimension k − 1 or k + 1, where the latter cases can occur at most one each and all combinations are possible. It is well known that a partial k-spread of cardinality q k − 1 can always be extended to a k-spread.
For subspace codes in F 6 2 the only cases not treated in Section 3 are minimum subspace distance d = 3 and d = 4. For the latter we want to give all details, since the inspection in [24] is rather scarce. First we remark A 2 (6, 4; 3) = 77, see [22]. We start with an observation, due to Thomas Honold, that might be of independent interest: Lemma 5. Let C be a set of planes in F 6 q with minimum subspace distance at least 4. Let r(P ) denote the number of codewords of C that contain point P and r(H) denote the number of codewords of C that are contained in hyperplane H. For every point P or hyperplane H we have #C ≤ q 3 (q 3 + 1) + r(P ) and #C ≤ q 3 (q 3 + 1) + r(H), respectively. Moreover, r(P ) ≤ q 3 + 1 and r(H) ≤ q 3 + 1.
Proposition 2. We have A 2 (6, 4) = 77 and there are exactly 5 optimal isomorphism types each containing planes only.
The case of minimum subspace distance d = 3 is more involved and we can only present partial results. A bit more notation from the derivation of A 2 (6, 4; 3) = 77, see [22], is necessary. Let C 3 be a constant-dimension code in F 6 2 with codewords of dimension 3 and minimum subspace distance 4. A subset of C 3 consisting of 9 planes passing through a common point P will be called a 9-configuration.
There are four isomorphism types of 9-configurations. A subset of C 3 of size 17 will be called a 17-configuration if it is the union of two 9-configurations, i.e., a 17-configuration corresponds to a pair of points (P, P ) of degree 9 that is connected by a codeword in C 3 containing P and P . There are 12 770 isomorphism types of 17-configurations, see [22,Lemma 9].
Using these constraints together with the ILP displayed at the end of Subsection 2.4 and a prescribed group  which is a direct product of two cyclic groups of order 3, solving the corresponding ILP to optimality (in 3 seconds) gives A 2 (6, 3) ≥ 108. Moreover, with the prescribed automorphisms, there are exactly four isomorphism types of codes of cardinality 108. In all cases the full automorphism group is indeed the group in (4) and the dimension distribution is δ = (0, 0, 18, 72, 18, 0, 0). Moreover, the group fixes exactly 3 lines, which complement the 18 lines of the code to a line spread.
For the upper bound we also utilize an ILP formulation, of course without prescribed automorphisms. If δ i = 1 for some i ∈ {1, 5}, then #C ≤ 21 + 72 + 21 = 114. If C does not contain a 17-configuration, then #C ≤ 21 + 73 + 21 = 115. So, we set δ 0 = δ 1 = δ 5 = δ 6 = 0 and prescribe a 17-configuration, i.e., we fix the corresponding x U -variables to one. Using these constraints together with the ILP displayed at the end of Subsection 2.4 gives an ILP formulation. In order to further reduce the complexity, we modify the target function to 2δ 2 + δ 3 and set δ 4 = 0. Since the possible automorphism groups in F 6 2 are quite manageable, we have checked all of them along the lines of the first part of the proof of Proposition 3. Note that if a group G of automorphisms allows only code sizes smaller than 108, then the same is true for all overgroups, which significantly reduces the computational effort. Moreover, at most one subgroup for each conjugacy class needs to be considered. After several hours of ILP computations, besides the identity group and the group in (4), there remain only the following groups that may allow code sizes of cardinality at least 108: where Z p denotes a cyclic group of order p. The two latter groups are two non-isomorphic subgroups of the group of order nine in (4) that permit a code of size 108. From the ILP computations in the proof of Proposition 3 we conclude: We remark that δ 3 = 77 implies δ 0 + δ 1 + δ 2 + δ 3 ≤ 88, see [24].

Subspace codes in F 7 2
For binary subspace codes in F 7 2 the only cases not treated in Section 3 are minimum subspace distance d = 3 and d = 4. The upper bound A 2 (7, 4) ≤ 407 was obtained in [24, Subsection 4.1] using a quite involved and tailored analysis. The lower bound A 2 (7, 4) ≥ 334 can be obtained taking 333 planes in F 7 2 with minimum subspace distance 4, see [20], and adding the full ambient space F 7 2 as a codeword. Here also the constant-dimension case is widely open, i.e, the best know bounds are 333 ≤ A 2 (7, 4; 3) ≤ 381. If cardinality 381 can be attained, then the code can have at most two automorphisms, see [28]. The upper bound A 2 (7, 3) ≤ 776 was obtained in [2] using semidefinite programming. A construction for A 2 (7, 3) ≥ 584 was described in [11]. Based on extending a constant-dimension code of 329 planes in F 7 2 with minimum subspace distance 4 from [21], the lower bound was improved to A 2 (7, 3) ≥ 593 in [24]. We remark that the group of order 16 from [20] gives a mixed dimension code of cardinality 574 and ILP computation verifies that the group permits no subspace code of cardinality larger than 611. Another construction of 329 planes with minimum subspace distance 4 is stated in [4] and based on the prescription of a cyclic group of order 15 as automorphisms. Taking the same group and searching for planes and solids with subspace distance 3 by an ILP formulation, we found a code of size 612 consisting of 306 planes and 306 solids. Adding the empty and the full ambient space as codewords gives A 2 (7, 3) ≥ 614. The ILP upper bound for subspace codes permitting this group is 713 aborting after two days.
6. Subspace codes in F 8 2 For binary subspace codes in F 8 2 the cases not treated in Section 3 are given by minimum subspace distance d = 3, d = 4, d = 5, and d = 6. Here we will present some improvements. However, our results will only be partial in most cases. Even for constant-dimension codes the bounds 4801 ≤ A 2 (8, 4; 4) ≤ 6477 is the current state of the art. The lower bound was found in [3]. Extended by the empty and the full ambient space as codewords, this gives A 2 (8, 4) ≥ 4803. For d = 3, the so-called Echelon-Ferrers construction, see [10], gives A 2 (8, 3) ≥ 4907, which was the previously best known lower bound. Using an integer linear programming formulation we found 857 planes and 29 5-subspaces that are compatible with the 4801 solids with respect to subspace distance d = 3, so that A 2 (8, 3) ≥ 5687. We remark that the corresponding distance distribution is given by 3 92028 , 4 1333070 , 5 1462022 , 6 6719747 , 7 2699636 , 8 3861638 . The upper bound A 2 (8, 3) ≤ 9268, see [2], of course is also valid for A 2 (8, 4). However, for d = 4 the upper bound can be significantly improved.
If δ 2 = 1, then let L denote the unique 2-dimensional codeword and S be the set of 6-subspaces in F 8 2 that are disjoint to L. We have #S = 2 12 = 4096 and each element from C 4 is contained in exactly r = 2 4 = 16 elements from S, so that δ 4 ≤ 4096 16 = 256. Assume that X is a 5dimensional codeword. Then, L and X have to be disjoint and X intersects every element from C 4 exactly in a point. So, if X intersects an element S ∈ S in a solid, then S cannot contain a 4-dimensional codeword. Since there are at least 5 4 2 = 31 such elements in S, we have δ 4 ≤ 4096−31 16 < 255, so that #C < 257 and we assume that there is no 5-dimensional codeword. Alternatively, assume that Y is a 6-dimensional codeword. Then either L and Y are disjoint or they intersect in a point P . In both cases Y intersects every element from C 4 in precisely a line. So, if Y intersects an element S ∈ S in a 5-subspace, then S cannot contain a 4-dimensional codeword. If dim(L ∩ Y ) = 0, then there are at least 6 5 2 = 63 such elements in S, so that δ 4 ≤ 4096−63 16 < 253 and #C < 257. If L ∩ Y = P , then there are at least 6 5 2 − 5 4 2 = 32 such elements in S, so that δ 4 ≤ 4096−32 16 = 254 and #C < 257. To sum up, if δ 2 = 1, then only δ 3 = δ 5 = δ 6 = 0 and δ 4 = 256 is possible.
If δ 3 = 1, then let E denote the unique 3-dimensional codeword and S be the set of 6-subspaces in F 8 2 that intersect E in precisely a point. We have #S = 3 1 2 · 2 10 = 7168 and each element from C 4 is contained in exactly r = 3 1 2 · 2 2 = 28 elements from S, so that δ 4 ≤ 7168 28 = 256. Due to the previous argument and orthogonality δ 6 = 1 is impossible, so that we assume that X is a 5-dimensional codeword. Then, X has to intersect every element from C 4 in precisely a point and is either disjoint to E or P = X ∩ E is a point. So, if X intersects an element S ∈ S in a solid, then S cannot contain a 4-dimensional codeword. If dim(E ∩ X) = 0, then there are at least 3 1 2 · 5 4 2 = 217 such elements in S, so that δ 4 ≤ 28672−217 112 < 255 and #C < 257. If E ∩ X = P , then X contains 16 solids disjoint to P . Adding a point in E\P gives 16 · 6 = 96 choices for a 5-subspace F ≤ E, X that intersects E in a point. In each of these cases there are two possibilities to extend F to different elements in S, so that δ 4 ≤ 28672−192 112 < 255 and #C < 257. To sum up, if δ 3 = 1, then only δ 2 = δ 5 = δ 6 = 0 and δ 4 = 256 is possible.
So, it remains to consider the cases where δ 2 + δ 3 = 1 and δ 4 = 256. By L or E we denote the unique 2-or 3-dimensional codeword in C, respectively. Every hyperplane H of F 8 2 contains at most A 2 (7, 6; 3) = 17 elements from C 4 due to orthogonality. In [23] the authors determined that there are exactly 715 non-isomorphic subspace codes in F 7 2 with minimum subspace distance d = 6 consisting of 17 planes and 14 445 non-isomorphic such subspace codes consisting of 16 planes. By orthogonality, there are exactly 715 non-isomorphic subspace codes in F 7 2 with minimum subspace distance d = 6 consisting of 17 solids and 14 445 non-isomorphic such subspace codes consisting of 16 solids. If a hyperplane H of F 8 2 contains 17 elements from C 4 , then each point is covered at least once, which also can be directly deduced from the unique hole configuration of a maximum partial plane spread in F 7 2 , see e.g. [25]. Since at least a point of L or E is contained in any hyperplane, we conclude that H contains at most 16 elements from C 4 . Similarly, if P is a point of F 8 2 that is contained in 17 elements from C 4 , then there exists a 5-subspace K and a solid S ≤ K such that the points in K\S are exactly those that are not contained in any element from C 4 . This fact can again be verified computationally, using the 715 non-isomorphic configurations mentioned above, or from the unique hole configuration of a maximum partial plane spread in F 7 2 . Since neither L nor E can be contained in K\S , every point P of F 8 2 is incident with at most 16 elements in C 4 . If every hyperplane contains at most 15 codewords, then #C 4 ≤ 8 1 2 · 15/ 4 1 2 = 255, i.e., those cases do not need to be considered. Now, let P be a point and H be a hyperplane of F 8 2 such that P is not contained in H. By C P,H we denote the set of codewords from C 4 that either contain P or are contained in H. If #C P,H = 31 we speak of a 31-configuration, see [18]. As argued above, there is a hyperplane H of F 8 2 containing exactly 16 codewords from C 4 . If C 4 contains at most 14 codewords incident with a point P for all points P that are not contained in H, then 15 · C 4 ≤ 127 · 16 + 128 · 14 = 3824 = 15 · 254 + 14, so that #C 4 ≤ 254. Thus, C 4 contains a 31-configuration C P,H with 16 solids in H and 15 solids containing P .
In [18] the 715 + 14445 isomorphism types of subspace codes in F 7 2 with minimum subspace distance 6 consisting of 17 or 16 solids were tried to extend to subspace codes of solids in F 8 2 with minimum subspace distance 6. As an intermediate step 31-configurations were enumerated. So, all required preconditions are also given in our situation. For the exclusion of cases linear and integer linear programming formulations have been used. Let z LP 8 , see Lemma 12, and z BLP 7 , see Lemma 13, denote the optimal target values of two of such (integer) linear programming formulations used and defined in [18]. According to [18, Table 2], see also Table 2, only the cases of hyperplanes with indices 1, and 9 can lead to 256 solids. We state that there are four additional cases in which 256 ≤ z LP 8 < 257, which are not listed in [18, Table 2]. The next smaller LP value is 255.879, which is significantly far away from 256. In all those four cases z BLP 7 ≤ 254 is verified in less than 2 minutes. Applying ILP z BLP 7 to the case with index 9 yields an upper bound of 255 after 75 hours of computation time. Thus, there just remains the hyperplane with index 1.
Extending the hyperplane with index 1 to a 31-configuration yields z LP 8 ≥ 255.9 in 234 cases and then z BLP 8 ≥ 256 in 2 cases. In the latter cases there exists a unique solid S that is disjoint to the 31 codewords.
Next we use ILP computations in order to obtain some structural results. For any line L disjoint to the 31 codewords and not completely contained in S, we try to enlarge each given 31configuration keeping L disjoint to all codewords. It turned out, that at most 255 4-dimensional codewords are possible in total. Next we forbid that 4-dimensional codewords intersect in a dimension larger than 2 and check all cases in which a 4-dimensional codeword intersects S in dimension 1 or 2. In all cases we verify by an ILP computation that then the total number of 4-dimensional codewords is at most 255.
Thus, we have computationally verified, that δ 4 = 256 is only possible if S is disjoint to every codeword. This means, that C 4 is a lifted MRD code. From [18,Theorem 10] we then conclude that the code is isomorphic to the lifted version of G 8,4,3 . Since all points outside of S are covered, L or E have to lie completely in S. The automorphism group of the lifted version of G 8,4,3 has order 230 400 and acts transitively on the set of points or planes that are contained in S and on the set of 5-subspaces that contain S. For lines there are two orbits, one of length 5 and one of length 30. Thus, we obtain the isomorphism types listed in the statement of the theorem.
Taking the automorphism π into account reduces the 8 isomorphism types of Theorem 8 to 5. We remark that an alternative approach for the last part of the proof of Theorem 8 would be to classify all constant-dimension codes in F 8 2 with minimum subspace distance d = 6 consisting of 256 solids and to extend them to subspace codes. Given the computational results from [18] and the proof of Theorem 8 there remain only the types of hyperplanes with indices 1, 7, and 8. This approach is indeed feasible but rather involved, so that we present a sketch in Section A in the appendix as a further justification of the correctness of Theorem 8. As a by-product we obtain the information that all (8, 256, 6; 4) 2 constant-dimension codes can be extended to an (8,

Conclusion
In this paper we have considered the determination of the maximal code sizes A 2 (v, d) of binary subspace codes in F v 2 for all v ≤ 8 and all minimum distances d ∈ {1, . . . , v}. The precise numbers are completely known for v ≤ 5 only. For larger dimensions of the ambient space we have obtained some improvements of lower and upper bounds. Whenever A 2 (v, d) is known exactly the number of isomorphism types is known, where we add two classifications in this paper. The current state-of-the-art is summarized in Table 1. The numbers in brackets state the number of isomorphism types with respect to GL(v, F 2 ).
Of course, a natural challenge is to further tighten the stated bounds. Especially for minimum subspace distance d = 3 it would be very interesting to come up with improved general constructions. The smallest open case is still A 2 (6, 3).
For index 8 the ILP z BLP 7 was utilized, i.e., after prescribing the 17 solids corresponding to index 8 extensions by planes in F 7 2 , not intersecting themselves and any of the 17 solids in a line, were searched. The automorphism group of order 32 of the 17 solids was used to partition the set of 948 feasible planes into 56 orbits. In [18] it was stated that all 56 cases lead to z BLP 7 ≤ 256, which was sufficient for the determination of A 2 (8, 6; 4). Here, we tighten the computational results to z BLP 7 ≤ 255. To this end we build up an ILP formulation using binary variables for the 948 planes. For each line L at most one plane containing L can be chosen. By an explicit inequality we ensure that at least 256 − 17 = 239 planes are chosen. For each of the 56 orbits we try to maximize the number of chosen planes in that orbit prescribing one arbitrary plane from that orbit. After ten hours computation time in each of these 56 cases, we obtain upper bounds for the number of chosen planes per orbit. Those upper bounds sum to at least 241 planes in total. So, in a second run, using all computed upper bounds for the orbits, we quickly verify the infeasibility of the problem, i.e., no hyperplane with index 8 can occur in C. Using more but shorter runs iteratively updating the upper bounds for the orbits would reduce the computation time significantly.
To sum up, a rather small number of configurations can lead to constant-dimension codes of cardinality 256 only. As argued above, at least 255 codewords have to be disjoint to a given solid. Next we show that those 255 codewords have to arise from an LMRD code by removing one codeword. To that end we show an extendability result for an LMRD code based on arguments using divisible linear codes, see [25] for an introduction into the application of projective divisible linear codes in the characterization of partial spreads. We need a slightly more general approach using multisets of subspaces, see [27]. To any multiset P of points in F v q we associate a characteristic function χ P (P ) ∈ N that gives the number of occurrences of P in P.

Definition 9.
A multiset P of points in F v q characterized by its characteristic function χ P is called q r -divisible, for a non-negative integer r, if for any hyperplane H of F v q . Note that the condition for a q r -divisible multiset of points is trivially satisfied for r = 0. If r ≥ 1, then the intersection of a q r -divisible multiset of points with a hyperplane yields a q r−1 -divisible multiset of points, see e.g. [25].
If C is an arbitrary multiset of k-subspaces, then replacing every element of C by its set of k 1 q contained points gives a multiset P of points. In [27] it was shown that P is q k−1 -divisible. Moreover, if the corresponding characteristic function satisfies χ P (P ) ≤ Λ for some integer Λ, then Λ − χ P (P ) is the characteristic function of a q k−1 -divisible multiset of points. The latter construction is also called the Λ-complement of P.
As a further ingredient we need a few classification results for q r -divisible multisets of points.
Lemma 10. For a positive integer r, let P be a q r -divisible multiset of points of cardinality r+1 1 q = q r+1 −1 q−1 . Then P coincides with the set of points of a suitable (r + 1)-subspace.
Proof. Let v denote the dimension of the span of P and embed P in F v q . Since r+1 1 q − 2 · q r is negative, every hyperplane of F v q contains exactly r+1 1 q − q r = r 1 q points. Double counting the incidences between points and hyperplanes gives r 1 q · v v−1 q = r+1 1 q · v−1 v−2 q , so that v = r + 1. Double counting the incidences between hyperplanes and pairs of points gives that there are no multiple points, so that the statement follows.
Lemma 11. If P is a 2 3 -divisible multiset of points over F 2 of cardinality 30 and L be a set of 70 lines such that 7 · χ P (P ) = χ P (P ) for all points P , where P denotes the multiset of points of the lines from L, then P equals the union of the set of points of two solids.
Proof. Let v denote the dimension of the span of P and embed P in F v 2 . By a i we denote the number of hyperplanes of F v 2 with exactly i points. Due to divisibility only a 6 , a 14 , and a 22 can be positive. Any of the 70 lines intersects each hyperplane in at least one point so that each hyperplane contains at least 70/7 = 10 points, which gives a 6 = 0. Counting incidences between points and hyperplanes gives a 14 + a 22 = 2 v − 1 and 14a 14 + 22a 22 = 30 · 2 v−1 − 1 . Setting y = 2 v−2 we obtain a 22 = y 2 − 2 and a 14 = 7y 2 + 1. If x denotes the number of ordered pairs of elements of P that correspond to the same point, then double counting the incidences between hyperplanes and pairs of points gives 14·13·a 14 +22·21·a 22 = x·(2y −1)+(30·29−x)·(y −1), so that 128 = y(x + 2) and (y, x) ∈ {(4, 30), (8,14), (16,6), (32,2), (64, 0)}. Here y = 4 corresponds to v = 4, which allows only 4 2 2 = 35 < 70 lines. Via an ILP formulation we have checked that the cases y = 8 and y = 16 are impossible. For y = 32 and y = 64 there has to be a solid such that all 15 contained points have multiplicity at least 1 in P. Since a solid is 2 3 -divisible we can remove the corresponding points of P and apply Lemma 10 with q = 2 and r = 3 in order to conclude the statement. Proposition 6. Let C be a set of 254 or 255 solids in F 8 2 with minimum subspace distance d = 6 that intersect a fixed but arbitrary solid S trivially. Then, there exists a solid U in F 8 2 that has subspace distance at least 6 to the elements of C and intersects S trivially.
Proof. We observe that any point of F 8 2 that is not contained in S is contained in at most 16 elements from C and any line from F 8 2 that is not contained in S is contained in at least one element from C. If #C = 256, then all these upper bounds would be attained with equality.
For #C = 255 a multiset of points and a set of lines of cardinalities 15 and 35, respectively, are missing. Now let P be the multiset of points of the points contained in the elements of C and the 16-fold set of points contained in S. The 16-complement of P is 2 3 -divisible and has cardinality 15. Let U denote the corresponding solid, see Lemma 10. The 35 lines not covered by the elements from C that do not lie in S of course all have to be contained in U . Thus, U does not share a line with any element from C and intersects S trivially.
For #C = 254 a multiset of points and a set of lines of cardinalities 2 · 15 = 30 and 2 · 35 = 70, respectively, are missing. Now let P be the multiset of points of the points contained in the elements of C and the 16-fold set of points contained in S. The 16-complement of P, say P , is 2 3 -divisible and has cardinality 30. From Lemma 11 we conclude the existence of two solids U and U whose union equals P . By construction both U and U intersect trivially and have subspace distance at least 6 to the elements from C. Additionally, dim(U ∩ U ) ≤ 1.
In other words, any set of 254 or 255 solids in F 8 2 with minimum subspace distance 6 that intersect a special solid S trivially can be completed to a lifted MRD code.
Given the above extendability result for G 8,4,3 , we have considered all subsets of 254 out of the 256 solids of G 8,4,3 . Up to symmetry there are just 3 possibilities. Extending these by two further solids in F 8 2 without violating the minimum subspace distance d = 6 gives 4 non-isomorphic (8, 256, 6; 4) 2 constant-dimension codes. Three of them can be enlarged in a unique way to a (8, 257, 6; 4) 2 constant-dimension code and the fourth allows 451 such extensions. This perfectly matches the classification of the (8, 257, 6; 4) 2 codes. Let S 1 and S 2 denote the solids with  Appendix B. Integer linear programming formulations from [18] In this section we collect the integer linear programming formulations used in [18] to determine A 2 (8, 6; 4) = 257 and to classify the corresponding optimal constant-dimension codes. In the proof of Theorem 8 we have used a few ILP computations based on Lemma 12 and Lemma 13. The numerical results, both from [18] and the newly obtained ones, are summarized in Table 2.
For the first ILP formulation we use binary variables x U , where U is an arbitrary 4-subspace in F 8 2 . The interpretation is x U = 1 if and only if U is a codeword of the desired code C. We prescribe a certain subset F ⊆ C and assume that the number of indicences between codewords and a point or a hyperplane is upper bounded by some integer f . As an abbreviation we use the notation U ∈ I (S, W ) for all U ∈ S with U ≤ W if dim(U ) ≤ dim(W ) or U ≥ W if dim(U ) ≥ dim(W ), i.e., those subspaces from S that are incident with W . x For the second ILP formulation we consider the intersection of a code C with a hyperplane H as a combinatorial relaxation. More precisely, let the hyperplane H be given by the ambient space F 7 2 and F ⊆ G 2 (7, 4) be the set of codewords of C that are contained in the hyperplane H. All other codewords intersect H in a plane. Those intersections are modeled as binary variables x U , where we ensure that U intersects any element from F in at most a point. W.l.o.g. we assume that the maximum number of incidences between codewords of C and a point or a hyperplane is attained by #F . x U ≤ #F − #I (F, W ) ∀W ∈ G 2 (7, 1) U ∈I(Var7(F ),W ) x U ≤ 1 ∀W ∈ G 2 (7, 2) : W ≤ S ∀S ∈ F U ∈I(Var7(F ),W ) x U ≤ 1 ∀W ∈ G 2 (7, 4) \ F U ∈I(Var7(F ),W ) x U ≤ min{ω(F, W ), 7} ∀W ∈ G 2 (7, 5) : S ≤ W ∀S ∈ F U ∈I(Var7(F ),W ) x U ≤ 2(#F − #I (F, W )) ∀W ∈ G 2 (7, 6) U ∈Var7(F ) x U + #F ≥ 255 x U ∈ {0, 1} ∀U ∈ Var 7 (F ) E-mail address: daniel.heinlein@uni-bayreuth.de E-mail address: sascha.kurz@uni-bayreuth.de