• Keine Ergebnisse gefunden

Connection to Graph Automorphisms

Im Dokument Rank metric codes (Seite 23-30)

Since it is a nontrivial problem to determine whether two codes are isomorphic, we want to use nauty [44]—which is a well known tool to find graph isomorphisms—to do this for us. For this, we have to translate the matrix spacesFm×nq ,Sn(Fq), and Hn(Fq2) into graphs in a way that asserts that the group of isometries of the matrix space is isomorphic to the automorphism group of the associated graph. For testing whether two codes are isomorphic, the graph associated to the ambient space—which has to be the same for both codes—is

“colored” (a formal definition is given below) for both codes separately. This way, the vertices corresponding to code matrices are distinguishable for nauty. Two codes are isomorphic then if and only if the associated colored graphs are isomorphic. The algorithm used by nauty is described in [42] and [45].

Definition 4.11. [44, Section 1] A graph automorphism is a permutation of the vertices of a graph such that two vertices i, j are adjacent if and only if their images are adjacent.

Definition 4.12. [45, Section 2.1] Let Γ be a graph with vertex set V. A coloring of Γ is a surjective function π:V → {1, . . . , k} for some k∈N. This means that the colors of the vertices are represented by natural numbers.

A cell of π is the set of vertices with some given color, that is, the preimage π−1(j) of some givenj ∈ {1, . . . , k}.

A colored graph (Γ, π) is a graph Γ together with a coloringπ of Γ.

Definition 4.13. Cf. [45, Section 2.2] Anautomorphism of a colored graph(Γ, π) is a graph automorphismg with the property that π(g(v)) =π(v) for all verticesv of Γ.

This means that an automorphism of a colored graph preserves the colors of the vertices.

The automorphisms of a graph Γ (of a colored graph (Γ, π)) form a group under composi-tion. The automorphism group of a colored graph is denoted by Aut(Γ, π). In the uncolored case or if the coloring is clear from the context, this group is denoted by Aut(Γ).

Let Mbe one of the setsFm×nq ,Hn(Fq2),Sn(Fq) except for S3(F2). Then the bijections of M preserving rank distance one are exactly the isometries of M (see Proposition 4.3, Proposition 4.5, and Theorem 4.7 together with Proposition 4.8) and thus the isometries of Mmatch the graph automorphisms of the following graph ΓM consisting of:

• #Mvertices which are numbered by 0, . . . ,#M −1,

• edges connecting vertices i and j for all 0 ≤ i, j ≤ #M −1 with drk(Mi, Mj) = 1 (for the numbering of the matrices which is used for the calculations in this thesis, see appendix B)

To harmonize the subsequent notation, we equip graph ΓM with the trivial coloring π:{0, . . . ,#M −1} → {1}.

This correspondence between maps that preserve rank distance one and automorphisms of the graph where two vertices are adjacent if and only if the corresponding matrices have rank distance one is easy to justify: Let gbe a graph automorphism of ΓM and let Mi, Mj ∈ M with drk(Mi, Mj) = 1 corresponding to the adjacent vertices i and j. Those vertices are mapped by g to two adjacent vertices g(i) and g(j), which again correspond to matrices Mg(i)andMg(j)with drk(Mg(i), Mg(j)) = 1. Hence the bijection onMinduced bygpreserves rank distance one. The other direction is just the same.

Now let M = S3(F2). We are interested in creating a graph such that the graph au-tomorphisms correspond to the isomorphisms of S3(F2) to determine the group of graph automorphisms with nauty [45]. To achieve this graph, every matrix is represented by a vertex and the vertices corresponding to matrices with rank distance one are connected with one kind of edges while the vertices corresponding to matrices with rank distance two are connected by another kind of edge. Then the vertices that are not adjacent automatically correspond to matrices with rank distance three.

This graph has the desired property that its graph automorphisms (which preserve the color of the edges) correspond exactly to the isometries ofS3(F2), but nauty can not handle graphs with different types of edges. Since nauty can handle different types (colors) of vertices instead, the user guide of nauty recommends the following workaround [44, p.58]

which is illustrated in Figure 1: For every vertex in the original graph, there are two vertices

Figure 1: Illustration of the workaround for graphs with colored edges in nauty as rec-ommended by the nauty user guide [44]: Edges of different colors (graph on the left) are represented as edges in different layers (graph on the right).

A B C D A1 B1 C1 D1

A2 B2 C2 D2

in the new graph—partitioned in two layers with different vertex colors. Each two vertices arising from the same original vertex are connected by an edge. Then the original edges of the first and second color are inserted between the corresponding vertices of the first and second layer, respectively, of the new graph. Then the action of the new automorphism group on the first layer of the new graph is the same as the action of the original automorphism group on the original graph.

Following those instructions, we gain the following nauty-compatible graph (ΓS3(F2), π) consisting of:

• 2·#S3(F2) = 128 vertices, numbered by 0, . . . ,127,

• a coloring π:{0, . . . ,127} → {1,2} with π(v) =

(1, v <64 2, v ≥64,

• edges connecting vertices iand i+ 64 for alli= 0, . . . ,63,

• edges connecting vertices iand j for all 0≤i, j≤63 with drk(Mi, Mj) = 1, and

• edges connecting vertices i+ 64 andj+ 64 for all 0≤i, j≤63 with drk(Mi, Mj) = 2.

We can use this graph ΓS3(F2) to confirm Theorem 4.9: Computing Aut(ΓS3(F2)) with nauty reveals that this graph has an automorphism group of size 10752—which is exactly

# GL3(F2)·#S3(F2)— generated by the permutations g0, . . . , g4 where g0 =(1,2)(5,6)(9,10)(13,14)(16,32)(17,34)

(18,33)(19,35)(20,36)(21,38)(22,37)(23,39) (24,40)(25,42)(26,41)(27,43)(28,44)(29,46) (30,45)(31,47)(49,50)(53,54)(57,58)(61,62)

(65,66)(69,70)(73,74)(77,78)(80,96)(81,98) (82,97)(83,99)(84,100)(85,102)(86,101)(87,103) (88,104)(89,106)(90,105)(91,107)(92,108)(93,110) (94,109)(95,111)(113,114)(117,118)(121,122)(125,126), g1 =(8,25)(9,24)(10,27)(11,26)(12,29)(13,28)

(14,31)(15,30)(32,36)(33,37)(34,38)(35,39) (40,61)(41,60)(42,63)(43,62)(44,57)(45,56) (46,59)(47,58)(48,52)(49,53)(50,54)(51,55) (72,89)(73,88)(74,91)(75,90)(76,93)(77,92) (78,95)(79,94)(96,100)(97,101)(98,102)(99,103)

(104,125)(105,124)(106,127)(107,126)(108,121)(109,120) (110,123)(111,122)(112,116)(113,117)(114,118)(115,119), g2 =(1,2,7)(3,5,6)(9,10,15)(11,13,14)(16,32,48)

(17,34,55)(18,39,49)(19,37,54)(20,36,52)(21,38,51) (22,35,53)(23,33,50)(24,40,56)(25,42,63)(26,47,57) (27,45,62)(28,44,60)(29,46,59)(30,43,61)(31,41,58) (65,66,71)(67,69,70)(73,74,79)(75,77,78)(80,96,112)

(81,98,119)(82,103,113)(83,101,118)(84,100,116)(85,102,115) (86,99,117)(87,97,114)(88,104,120)(89,106,127)(90,111,121) (91,109,126)(92,108,124)(93,110,123)(94,107,125)(95,105,122), g3 =(2,8)(3,9)(4,16)(5,17)(6,24)(7,25)

(12,18)(13,19)(14,26)(15,27)(22,28)(23,29) (34,40)(35,41)(36,48)(37,49)(38,56)(39,57) (44,50)(45,51)(46,58)(47,59)(54,60)(55,61) (66,72)(67,73)(68,80)(69,81)(70,88)(71,89) (76,82)(77,83)(78,90)(79,91)(86,92)(87,93)

(98,104)(99,105)(100,112)(101,113)(102,120)(103,121)

(108,114)(109,115)(110,122)(111,123)(118,124)(119,125), and g4 =(0,1)(2,3)(4,5)(6,7)(8,9)(10,11)(12,13)

(14,15)(16,17)(18,19)(20,21)(22,23)(24,25)(26,27) (28,29)(30,31)(32,33)(34,35)(36,37)(38,39)

(40,41)(42,43)(44,45)(46,47)(48,49)(50,51) (52,53)(54,55)(56,57)(58,59)(60,61)(62,63)

(64,65)(66,67)(68,69)(70,71)(72,73)(74,75)(76,77) (78,79)(80,81)(82,83)(84,85)(86,87)(88,89)(90,91) (92,93)(94,95)(96,97)(98,99)(100,101)(102,103)

(104,105)(106,107)(108,109)(110,111)(112,113)(114,115) (116,117)(118,119)(120,121)(122,123)(124,125)(126,127).

Here the additional vertices of the second color are written in gray.

A simple brute force computer calculation shows that the generators gi correspond to maps This means that any isometry ofS3(F2) can be written in the form (4) which is the statement of Theorem 4.9.

5 Automorphism Groups of Codes

To understand the structure of a code, it is useful to consider its automorphism group as it gives information about the symmetries of the code.

Definition 5.1. LetM ⊂Fm×nq andC ⊂ Mbe a code inM. Denote the group of isometries from Mto itself by Aut(M). Theautomorphism group of C (with respect to M) AutM(C) is defined to be the setwise stabilizer of Cin Aut(M). If the ambient spaceMis clear from the context, we simply write Aut(C).

By definition, the automorphism group of a code depends on the ambient space if only because it consists of maps from the ambient space to itself. That is, AutM1(C)6= AutM2(C) whenever C ⊂ M1,M2and M1 6=M2. This is not surprising but one should note that even the restriction of those automorphism groups to the code are not isomorphic in general, that is,

{f|C :C → C |f ∈AutM1(C)}{g|C :C → C |g∈AutM2(C)}.

The following examples shows this:

LetC ⊂ S2(F3)⊂F2×23 ,

From section 4, particularly from formulas (1) and (4), it is clear that every isometry of S2(F3) can be extended to an isometry ofF2×23 . But there exist isometries ofF2×23 such that

g(A) =A, g(B) =C, and g(C) = B. We know from section 4.3 that such a map has the thatS is the zero matrix. Assumeα= 1. Then the equations

a c

which—equations multiplied by 2—implies that a2+c2 ab+cd hold. Using the same reasoning as above, the bottom right matrix entry of equation (9) implies thatb= 0, d6= 0 and from the top left matrix entry of expression (8) it follows that a, c6= 0. Putting these together results in ab+cd 6= 0 which is a contradiction to (8) and sinceα ∈ {1,2}, it is proved that there exists no isometry g of S2(F3) such that g|C =f|C even thoughC ⊂ S2(F3).

As checking whether two codes are isomorphic, it is also a nontrivial problem to determine the automorphism group of a code. This problem can be outsourced to nauty in a similar way since the automorphism group AutM(C) can be identified in a natural way with the automorphism group of the colored graph (ΓM, πC) where (ΓM, π) is the colored graph associated to the ambient spaceMand

πC(i) =

(1, Mi ∈ C π(i) + 1, Mi ∈ C/

is a coloring that distinguishes the vertices corresponding to code matrices from the re-maining vertices. Nauty provides a set of generators of the automorphism group. Those generators are translated into a matrix representation of form (3) or (4) using a simple brute force computer calculation.

Magma [5] is a useful tool for analyzing the automorphism groups of the classified codes.

For instance, it is used to find “nicer” sets of generators—meaning smaller or better illus-tratable.

6 Constructions

For constructing codes, different approaches—depending on the problem size—are used and described in this section. Firstly, two series of Hermitian codes are presented of which one improves the general lower bound on the maximum code size when 2 = d < n, n even.

Secondly, two different exact algorithms for finding the maximum code size are described which entail a classification of maximum codes. The first exact algorithm is a successive execution of an orderly algorithm while the second one utilizes Cliquer. The resulting code representatives are converted using maps from Section 4 in order to obtain “nicer” represen-tatives. Since the exact algorithms are unsuitable for larger fields or matrix sizes, the last subsection is dedicated to a heuristic clique search approach.

6.1 Two Series of Hermitian Codes

Theorem 6.1. C={(mi,j)1≤i,j≤n∈ Hn(Fq2)|mi,i = 0∀1≤i≤n}is an additive code with

has rank 2 and thereforeM has rank at least 2.

Theorem 6.1 shows that K.-U. Schmidt’s upper bound for additive codes [57, Thm. 1] is tight not only if n or d is odd or if n= dbut also in the case d= 2. However, it remains unknown whether the bound is tight for 4≤d < nboth even.

Theorem 6.2. Let D=

Proof. This is obvious since the difference matrices

1 0

In case ofF4, this construction is optimal; additionally, we have the following statement:

Theorem 6.3. The construction from Theorem 6.2 can not be augmented.

Proof. Let M =

has rank distance less than 2 to the zero or identity matrix. So assume g 6= 1 and h 6= 0.

Then (g−1)h ∈Fq and since the norm map x 7→ xx is a surjective group homomorphism from Fq2 toFq (see, e.g., [46, Thm. 1.4.9]), there are qq−12−1 = q+ 1 elements x ∈ Fq2 such thatxx= (g−1)h. Hence, there areq+ 1 different choices forasuch that det(M−Da) = 0, and at least q of them are in Fq2, so we again found a matrix in D that prevents M from augmenting the codeC.

In [28, Thm. 17], a similar construction of maximal partial spread sets inH2(Fq2) of size N is given for every integer N in the interval [q2, q2+q−1].

Im Dokument Rank metric codes (Seite 23-30)