w  w  w  .  r  l  m  i  l  l  e  r  .  o  r  g


Doubly-Even Codes

The number of permutation equivalence classes of doubly-even binary linear codes is shown in the table below (counting only codes without zero columns), and the list of codes is linked from the list entries. For the smaller cases, you can load them directly in Sage:

sage: L = load('http://rlmiller.org/de_codes/get_code.php?id=16_08')
sage: L[0]
[1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0]
[0 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1]
[0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1]
[0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1]
[0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1]
[0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1]
[0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1]
[0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1]

k 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 k
N N
4 1 4
5 0 5
6 0 1 6
7 0 0 1 7
8 1 1 1 1 8
9 0 0 0 0 9
10 0 1 1 1 10
11 0 0 1 1 11
12 1 2 3 4 2 12
13 0 0 1 1 2 13
14 0 2 4 6 5 4 14
15 0 0 3 6 6 4 2 15
16 1 3 8 18 21 15 7 2 16
17 0 0 2 7 14 11 5 1 17
18 0 3 9 27 44 45 21 6 18
19 0 0 6 22 52 62 40 10 19
20 1 4 17 64 149 212 156 65 10 20
21 0 0 6 36 144 276 263 114 28 21
22 0 4 20 104 373 852 971 542 149 25 22
23 0 0 12 89 475 1489 2346 1622 527 94 11 23
24 1 6 34 220 1157 4317 8584 7686 2996 620 83 9 24
25 0 0 12 148 1364 7890 23521 28001 12329 2234 215 13 25
26 0 5 39 359 3115 22278 92354 156577 87488 17233 1520 81 26
27 0 0 22 321 4397 49390 336279 908397 713640 154603 11749 422 27
28 1 7 61 701 9492 137980 1452663 6528300 8130903 2375318 189600 6877 151 28
29 0 0 24 557 13421 330979 6166802 ? ? ? 4634293 126161 1789 29
30 0 7 72 1173 27638 921270 ? ? ? ? ? ? 68804 731 30
31 0 0 41 1106 ? ? ? ? ? ? ? ? ? 24766 210 31
32 1 9 106 ? ? ? ? ? ? ? ? ? ? ? 7479 85 32
N N
k 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 k

Talk

The following machines have been used for carrying out these computations:

Let F denote the field containing two elements. A linear binary code of type [N, k] is a vector subspace C of F^N with dimension k. Using the standard basis, the weight wt(v) of a vector v in an F-vector space is simply the number of coordinates equal to one. Define a doubly-even code to be a linear binary code with the constraint that every vector has weight divisible by 4. We use Gaborit's formulas for the number of distinct doubly-even codes.

An interesting fact is that doubly-even codes are guaranteed to be self-orthogonal, under the standard inner product < , >. We can express the dot product of two vectors, modulo 2, as the number of coordinates where both vectors are one. We can express this in terms of weight:

2< x , y > = wt(x) + wt(y) - wt(x+y) (mod 4).

For example,
x = 1 1 1 1 0 0
y = 0 0 1 1 1 1
x + y = 1 1 0 0 1 1.