Isometry and Automorphisms of Constant Dimension Codes

We define linear and semilinear isometry for general subspace codes, used for random network coding. Furthermore, some results on isometry classes and automorphism groups of known constant dimension code constructions are derived.


Introduction
Subspace codes are used for random linear network coding [1,12]. They are defined as subsets of the projective geometry, which is the set of all subspaces of a given ambient space over a finite field. In the special case that all codewords have the same dimension, we call those codes constant dimension codes. It makes sense to define isometry classes of these codes and a canonical representative of each class to compare codes among each other.
On the other hand, a canonical form and the automorphism group are important for the theory of orbit codes [19], which are a special family of constant dimension codes. These codes are defined as orbits of a subgroup of the general linear group on an element of the projective geometry over a finite field. Different subgroups can possibly generate the same orbit, hence one needs a canonical way to compare orbit codes among each other. This can be done via the automorphism groups of the codes, since these are the maximal generating groups for a given orbit code and they contain all other generating subgroups of it.
The paper is structured as follows: We give some preliminary results in Section 2, first on network coding in general and on orbit codes. The second part of the section deals with linear and semilinear isometry of general subspace codes. It is shown that any (semi-)linearly isometric code of a given code can be reached by action of the projective (semi-)linear group.
In Section 3 we derive some theoretical results on and give some examples of isometry classes and automorphism groups of spread codes, orbit codes and lifted rank metric codes, which are known code constructions that will be explained in detail in that part.
We conclude in Section 4 by summing up the results.

Network Coding
for any U , V ∈ PG(q, n). They are suitable distances for coding over the operator channel [12], where the injection metric is the more suitable one for an adversary model [15]. Since for U , V ∈ G q (k, n) it holds that they are exchangeable in the study of constant dimension codes. If we do not need to specify which metric we are using we will write d(U , V).
In general a subspace code is simply a subset of PG(q, n). A constant dimension code is a subset of G q (k, n). The minimum distance of a code is defined in the usual way.
Since α(T U A) = α(T )α(U A) for any T ∈ GL k , the operation here defined is independent from the representation of U and therefore well-defined. The ΓL n -multiplication defines a group action from the right on the Grassmannian and hence on PG(q, n) as well: This is indeed a group action since It induces a group action of GL n on PG(q, n), too. This action respects the distances d S , d I and therefore defines a notion of equivalence for subspace codes. In Section 2.2 we will show, that this equivalence is the most general one may demand if one also wants to preserve some other elementary properties of random subspace codes.
Generally, group actions on sets are performed element-wise. For a group G acting from the right on a set X and an element x ∈ X, Stab G (x) := {g ∈ G | xg = x} denotes the stabilizer of x under G. The orbit of G on x ∈ X is denoted by xG := {xg | g ∈ G} and the set of all orbits by X/ /G := {xG | x ∈ X}. A transversal of X/ /G is a set containing one element of each orbit.
An orbit U G, G ≤ GL n on a point U of the Grassmannian is also called an orbit code [19]. Since it is possible that different groups generate the same orbit code.
For the whole paper we will use vectors in row form and, if not stated differently, ΓL n and GL n will be applied from the right.

Isometry of Subspace Codes
An open question is how to define equivalence of subspace codes. Naturally equivalent codes should have the same ambient space, cardinality, errorcorrection capability (i.e. minimum distance) and transmission rate (for a fixed ambient space this is given by the maximal dimension of the codewords). Moreover, the distance distribution and the dimension distribution should be the same. Clearly, these last two conditions imply the minimum distance and maximum dimension.
This work engages in the isomorphic (with respect to the subset relation) equivalences of subspace codes.
is called an isometry on PG(q, n).
Any isometry ι is injective: and hence, if the domain is equal to the co-domain, bijective. The inverse map ι −1 is an isometry as well.
Assume U := ι({0}) ∈ {0}, F n q and let V := ι(F n q ). It holds that This implies U + V = F n q and U ∩ V = {0} and thus V ∈ {0}, F n q . Choose non-zero vectors u ∈ U , v ∈ V and consider the one-dimensional subspace W generated by u + v. Then dim(U ∩ W) = dim(V ∩ W) = 0 and which leads to the following contradiction (recall that d S (X , {0}) = dim(X ) and d S (X , F n q ) = n − dim(X ) for any X ∈ PG(q, n)): Let ι be as before and U ∈ PG(q, n) arbitrary. Then and on the other hand ). In the following, we restrict ourselves to the isometries with ι({0}) = {0} because these are exactly the isometries that keep the dimension of a codeword. Now we want to characterize all isometries on PG(q, n) with ι({0}) = {0}. For it we need the Fundamental Theorem of Projective Geometry (cf. [2,3]): Proof. We will again prove the statement using the subspace distance, where an analogous proof holds for the injection distance.

the set of scalar transformations. Then every order-preserving bijection (with respect to the subset relation)
1. "⇐=" Let ι be an isometry with ι({0}) = {0}. We have to show that for any U , V ∈ PG(q, n) the following holds: . This leads to the contradiction: Since ι −1 is an isometry as well, the converse also holds. Thus, ι is an order-preserving bijection.
2. "=⇒" According to Theorem 4 any order-preserving bijection ι of the projective geometry can be expressed by a pair (A, α) ∈ PΓL n . Then From now on assume that n > 2. This is no real restriction, because for application, subspace codes in an ambient space of dimension 2 are not interesting since the only non-trivial subspaces are the one-dimensional ones. In that case neither the transmission rate is improved compared to forwarding, nor is error-correction possible.
1. Two codes C 1 , C 2 ⊆ PG(q, n) are linearly isometric if there exists A ∈ PGL n such that C 1 = C 2 A. Since it is the orbit of PGL n on the code, the set of all linearly isometric codes is denoted by C 1 PGL n .
2. We call C 1 and C 2 semilinearly isometric if there exists (A, α) ∈ PΓL n such that C 1 = C 2 (A, α). The set of all semilinearly isometric codes is denoted by C 1 PΓL n .
Clearly linear and semilinear isometry are equivalence relations, so it makes sense to speak of classes of (semi-)linearly isometric codes. Note, that the isometries are independent of the underlying metric.
A lattice point-of-view of the isometries of subspace codes can be found in [18]. Note, that Aut(U G) contains every subgroup of GL n that generates the orbit U G.
Therefore, one can replace the projective groups with GL n and ΓL n when computing isometry classes and automorphism groups of subspace codes.

Isometry and Automorphisms of Known Code Constructions
In this section we will examine the isometries and automorphism groups of some known classes of constant dimension codes, namely spread codes, orbit codes and lifted rank metric codes.

Spread codes
Spreads of vector spaces are well-known geometrical objects, defined to be partitions of the non-zero elements of a given vector space into subspaces (without the zero-element) of that vector space of a fixed dimension. I.e. a k-spread of F n q is a set of subspaces of dimension k such that they pairwise intersect only trivially and they cover the whole vector space F n q . Thus, a spread exists if and only if k|n and is a subset of G q (k, n), i.e. it can be used as a constant dimension code. In this case we speak of a spread code. A spread code has cardinality (q n − 1)/(q k − 1) and minimum distance 2k.
Different constructions for these codes are known and have been studied from a coding perspective, e.g. in [8,13,14].
The trivial cases are k = 1 where the spread corresponds to the projective space and k = n where the spread has one element, namely the whole space.
One way of constructing spreads is the F q k -linear representation of F q n : Since k|n we can consider F q n as an extension field of F q k of degree l := n/k, which is isomorphic to the vector space F l q k . In this vector space consider the trivial spread of all one-dimensional subspaces. Each of these lines over F q k can now be considered as a k-dimensional subspace over F q . Since the lines of F l q k intersect only trivially and with a simple counting argument it follows that the corresponding k-dimensional subspaces of F n q form a spread. We call a spread code Desarguesian if it is an F q k -linear representation of F q n , or if it is a column permutation of such a code.
Proof. Since there is only one spread of lines in F l q k , different Desarguesian spreads of F n q can only arise from the different isomorphisms between F q k and F k q . As the isomorphisms are linear maps, there exists a linear map between the different spreads arising from them.
In general, not all spreads are linearly isometric but in the special case of q = 2, k = 2, n = 4 they actually are, which can be seen as follows. From [9, Lemma 17.1.3] we know that every spread in G q (2, 4) is regular. Since in G 2 (k, 2k) a spread is Desarguesian if and only if it is regular [9, p. 207], we know that every spread is Desarguesian. Hence all spreads in G q (2, 4) are linearly isometric.
We will now investigate the automorphism groups of Desarguesian spreads.
Theorem 11. The linear automorphism group of a Desarguesian spread code C ⊆ G q (k, n) is isomorphic to GL n k (q k ) × Gal(F q k , F q ). Proof. Let l := n/k. We want to find all F q -linear bijections of P l−1 (F q k ). We know that PGL l (q k ) is the groups of all F q k -linear bijections of P l−1 (F q k ). Thus, PGL l (q k )×Gal(F q k , F q ) is the set of all F q -linear bijections of P l−1 (F q k ). It follows that in the affine space the linear automorphism group of such a spread is isomorphic to GL l (q k ) × Gal(F q k , F q ).
Corollary 12. Let S be a Desarguesian spread code in G q (k, n). Then Proof. Follows from the fact that |Gal(F q k , F q )| = k and |GL n k (q k )| = where α is a root of an irreducible polynomial p(x) of degree k but also to F q [P ] where P the companion matrix of p(x), we get: Corollary 13. The automorphism group of a Desarguesian spread code in G q (k, n) is generated by all elements in GL n where the k × k-blocks are elements of F q [P ] and block diagonal matrices where the blocks represent an automorphism of F q k .
Another point of view of the construction of a Desarguesian spread can be found in [13], where the generator matrices of the code words are of the type where the blocks B i are an element of F q [P ] and P is a companion matrix of an irreducible polynomial of degree k. To stay inside this structure (i.e. to apply an automorphism) we can permute the blocks, do block-wise multiplications or do block-wise additions with elements from F q [P ]. This coincides with the structure of the automorphism groups from before. This result is depicted in the following Examples.
Example 14. Consider G 2 (2, 4). The only binary irreducible polynomial of degree 2 is p(x) = x 2 + x + 1, i.e. A different approach of finding the automorphism group of a spread in G 2 (2,4) can also be found in [9,Corollary 2]. where Q = 1 0 2 2 ∈ GL 2 . Here Q represents the only non-trivial auto- Note, that in both examples the first element of the generator sets corresponds to swapping the blocks, the second corresponds to multiplication by P and the third element to adding P in the second block of the code word generator matrices.

Orbit codes
Orbit codes are defined as orbits under the group action of the general linear group on the Grassmannian, which is defined as follows: They were first defined in [19]. For more information on orbit codes the reader is referred to [18], where also a similar version of the following fact on isometry of orbit codes can be found: Theorem 16. Let C 1 = U 1 G be an orbit code. Then C 2 is linearly (respectively semilinearly) isometric to C 1 if and only if there exists S ∈ GL n (respectively S ∈ PGL n ) such that i.e. S −1 GS is a defining group of C 2 .
For a given orbit code C ∈ G q (k, n) we call any subgroup G ≤ GL n a generating group of C, if U G = C for some U ∈ C.
If the generating groups of two orbit codes are cyclic, they are conjugate in GL n if and only if the rational canonical forms of their generators have the same number of elementary divisors of the same degree and order and the same respective exponents of the elementary divisors [18,Section 4].
As mentioned in the beginning, the automorphism groups can be seen as a canonical representative of the generating groups of orbit codes.

Proposition 17.
• Every generating group of an orbit code is a subgroup of the automorphism group.
• Every subgroup of the automorphism group containing a generating group is a generating group. Hence, the automorphism group is a generating group of the orbit code. Proof.
• If C = U G, then CG = U GG = U G.
• Let G be a generating group of C and G ≤ H ≤ Aut(C). Hence, C = U G and CH = C. This implies that U H = U GH = CH = C, since G is a subgroup of H.
The question of finding elements of the automorphism group can be translated into a stabilizer condition of the initial point of the orbit.
Proposition 18. A ∈ GL n is in the automorphism group of C = U G if and only if for every B ′ ∈ GL n there exists a B ′′ ∈ GL n such that

Lifted rank-metric codes
Rank-metric codes are matrix codes, i.e. subsets of Mat k×m (in this work we will restrict ourselves to the case k ≤ m) equipped with the rank distance Naturally such a matrix code can also be seen as a block code in F m q k . We will denote rank-metric codes by C R .
The isometry of rank-metric codes has already been studied in [4]: . For the matrix representation of rank-metric codes we can replace F q k with F q [P ] where P is the companion matrix of an irreducible polynomial of degree k. The multiplication with elements from F q [P ] is done from the left.
Note, that an F q k -linear map is also F q -linear. On the other hand, there might be other F q -(semi-)linear isometries than the ones mentioned before.
One can create constant dimension codes from a given rank-metric code, as explained in the following.
Lemma 20. [16] Let C R ⊆ Mat k×n−k be a rank-metric code with minimum distance d. Then the lifted code is a constant dimension code in G q (k, n) with minimum distance 2d.
Proposition 21. The following elements map a lifted rank-metric code to another lifted rank-metric code with the same parameters and are semilinear isometries: For α = id they are linear isometries.
Proof. Follows from the block matrix multiplication rules with and the fact that A is a rank-metric isometry. Moreover, αI k = I k and α is a rank-metric isometry since Aut(F q k ) ⊇ Aut(F q ).
Corollary 22. If two rank-metric codes are F q k -linearly isometric in the rank-metric space, their lifted codes are linearly isometric in the Grassmannian.
Proof. Let C R and C ′ R be two linearly isometric rank-metric codes, i.e. C ′ R = P ′ C R A with P ′ ∈ F q [P ] and A ∈ GL n−k . Then the lifted code of C ′ R is where C is the lifted code of C R . Hence, the lifted codes are linearly isometric.
Naturally, there are codes that are linearly isometric to a lifted rankmetric code but are not a lifted rank-metric code itself.
We can use the knowledge of the automorphism group of a rank-metric code also for finding the automorphism group of the respective lifted rankmetric code. For this denote by Aut R the automorphism group of the rankmetric code.
Proposition 23. Let C R ⊆ Mat k×(n−k) be a rank-metric code and C its lifted code. Then Proof. It holds that Since R ∈ Aut R (C R ), this set is equal to the original one.
Theorem 24. Let C R ⊆ Mat k×(n−k) be a rank-metric code and C its lifted code. Then Proof. From Proposition 23 we know that the right side is included in the left. Furthermore, Hence, if we know the automorphism group of a lifted rank-metric code, we also know the automorphism group of the rank-metric code itself.
Example 25. Consider the rank-metric code with four elements and minimum rank distance 1 over F 2 . Its automorphism group is Let C be the lifted code of C R in G 2 (2, 4). Then

Conclusion
In this work we investigated linear and semilinear isometry, as well as linear and semilinear automorphism groups, for general network codes, i.e. sets of vector spaces over a finite field. We showed that the subset-relation-anddimension-preserving isometries correspond exactly to the general (semi-) linear group. In Section 3 we showed some theoretical results and examples of isometry classes and automorphism groups of some known constructions of constant dimension codes, namely spread codes, orbit codes and lifted rank metric codes.
The isometry classes indicate how many non-equivalent different codes for given size and minimum distance can be found. On the other hand, the automorphism groups are useful for counting how many different codes there are in the same isometry class of a given code.
Moreover, the automorphism groups of orbit codes function as a canonical generating group to compare orbit codes among each other.
More research can be done in finding theoretical results on the automorphism groups of constant dimension codes. E.g. one could study the automorphism groups of non-Desarguesian spreads or try to find a family of orbit codes that have a certain automorphism group. Moreover, one could study the isometry and automorphism groups of non-constant dimension codes.
In general, it might not always be possible to compute the automorphism group of an arbitrary subspace code or check if two given codes are isometric. In this case, the algorithm of T. Feulner in [7] can be used to do these computations.
For future work it would be interesting to see how the knowledge of the automorphism group of a given constant dimension code (or a general subspace code) can be helpful for decoding, as it is in the classical block code case.