semi-ring of binary spaces

### Definitions

Let K be a finite field. Let n be a positive integer. The Hadamard product of K^n is denoted by *. The set of subspaces of K^n becomes a semiring when it is equipped of the laws :

X + Y = { x+y | x in X, y in Y }   X * Y = span { x*y | x in X, y in Y }

### idempotent

One says that C is idempotent if C*C = C.
```n:  number of idempotents of dimension k
2:      1     1
3:      1     3     1
4:      1     7     6     1
5:      1    15    25    10     1
6:      1    31    90    65    15     1
7:      1    63   301   350   140    21     1
8:      1   127   966  1701  1050   266    28     1
```
Stirling numbers of the second kind appear by column. It easy to prove there is only one projective idempotent.

### irreducible

One says that C is irreducible if X*Y = C implies that X=1 or Y=1.
```n :  number of irreducibles of dimension k
2 :  1
3 :  1   1
4 :  1   6
5 :  1  25
6 :  1  90  30
7 :  1 301 660 30
```
[irred-2] [irred-3] [irred-4] [irred-5]
[irred-6] [irred-7]

### square distribution

A square root of a projective code is projective. This section describes the distribution of square roots of projective codes. The file square-7.txt contains the lines:
```
#length: 7
#number of spaces:    29212 ( 2^14.83 )
#number of projs :     2960 ( 2^11.53 )
---
1  0  0  0  0  0  0
0  1  0  0  0  0  0
0  0  1  0  0  0  0
0  0  0  1  0  0  0
0  0  0  0  1  0  0
0  0  0  0  0  1  0
0  0  0  0  0  0  1

#projective code
#dim. of the square 7
#dimension of square roots
0     0     0  1605  1225    99     1
#orbit size : 1
---
1  0  0  0  0  0  1
0  1  0  0  0  0  1
0  0  1  0  0  0  1
0  0  0  1  0  0  1
0  0  0  0  1  0  1
0  0  0  0  0  1  1

#projective code
#dim. of the square 7
#dimension of square roots
0     0    30     0     0     0     0
#orbit size : 1
#class number of proj. square   :2
@runtime=0.00
```

that means there 29212 subspaces, 2960 are projectives whose 2 ( 2 class of size 1) are squares. One of dimension 6 has 30 square roots, the other one has 20930 square roots : 1605 of dimension 4, 1225 of dimension 5, 99 of dimension 6 and 1 of dimension 1.

[square-2] [square-3] [square-4] [square-5]
[square-6] [square-7] [square-8]
[square-9] [square-10]

### dimension sequence

The dimension sequence of the binary projective codes are reported in the files
[dim-2] [dim-3] [dim-4] [dim-5] [dim-6] [dim-7]
[dim-8] [dim-9] [dim-10] [dim-11] [dim-12]
[dim-13] [dim-14]
The file dim-8.txt contains the lines:
```#dimension sequences of binary projective codes of length 8
2 dim : 4.7.8
4 dim : 4.8
15 dim : 5.8
14 dim : 6.8
6 dim : 7.8
```

that means there are 2 class of code of dimension 4 such that

dim C = 4,   dim C*C = 7,   dim C*C*C = 8.
One can recover these codes (related to simplex or RM(1,3)) in the directory code-8.
```jeu. janv. 26 09:57:29 CET 2017
#binary projective codes of length 8

---
0  1  1  1  0  0  0  1
1  0  1  1  0  0  1  0
1  1  0  1  0  1  0  0
0  0  0  0  1  0  0  0
dim : 4.7.8

---
0  1  1  1  0  0  0  1
1  0  1  1  0  0  1  0
1  1  0  1  0  1  0  0
1  1  1  0  1  0  0  0
dim : 4.7.8
```

### enumeration

The file proj-k-n.txt provides the class of binary codes of length n dimension k under the action of the group S(n). The file proj-4-7.txt contains
```#number of [7,4] class : 5
:1:2:4:8:7:11:13
:1:2:4:8:3:5:14
:1:2:4:8:3:5:10
:1:2:4:8:3:5:9
:1:2:4:8:3:5:6
#number of [7,4] class : 5
```
that means there are 5 class of projective [7,4] code. One gets a generator matrix decomposing the integers using basis 2 e.g. the matrix described by the last line :1:2:4:8:3:5:6
```1 0 0 0 1 1 0
0 1 0 0 1 0 1
0 0 1 0 0 1 1
0 0 0 1 0 0 0
```
[all files]

Philippe Langevin, Last modification, January 2017, January 2018.