Parameters:
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import re
import pandas as pd # Pandas for tables
from IPython.display import Latex
from IPython.display import HTML
def read_f(file_name):
"""Reading weight enumerators."""
with open(file_name, 'r') as fp:
wd = fp.read().split("]\n")[:-1] # "\n"
wd = np.array([list(map(int, re.findall(r"\d+", elem))) for elem in wd])
return wd
wd = read_f("weight_distrib_n3k4.txt") # Weight distribution
# print(wd.shape) # 226 entries: 225 for IPM codes and one for BKLC codes
alpha_all = np.array(['$\\alpha^{%d}$'%i for i in np.arange(15)])
d_all = np.zeros(len(wd))
B_all = np.zeros(len(wd))
L_2 = np.zeros(len(wd), dtype=int)
L_3 = np.zeros(len(wd), dtype=int)
for i in range(len(wd)):
d_all[i] = wd[i][2]
B_all[i] = wd[i][3]
L_2[i] = int(i/15)
L_3[i] = int(i%15)
See more setting of dataframe from https://mode.com/example-gallery/python_dataframe_styling/
# Set properties for th, td and caption elements in dataframe
th_props = [('font-size', '14px'), ('text-align', 'left'), ('font-weight', 'bold'), ('background-color', '#E0E0E0')]
td_props = [('font-size', '13px'), ('text-align', 'left'), ('min-width', '80px')]
cp_props = [('font-size', '16px'), ('text-align', 'center')]
# Set table styles
styles = [dict(selector="th", props=th_props), dict(selector="td", props=td_props), dict(selector="caption", props=cp_props)]
cm_1 = sns.light_palette("red", as_cmap=True)
cm_2 = sns.light_palette("purple", as_cmap=True, reverse=True)
df = pd.DataFrame({'$L_2$': alpha_all[L_2[:-1]], '$L_3$': alpha_all[L_3[:-1]], '$d_{\mathcal{D}}^\perp$': d_all[:-1],
'$B_{d_{\mathcal{D}}^\perp}$': B_all[:-1], 'Weight Enumerators': wd[:-1]})
pd.set_option('display.max_colwidth', 1000)
pd.set_option('display.width', 800)
(df.style
.background_gradient(cmap=cm_1, subset=['$d_{\mathcal{D}}^\perp$','$B_{d_{\mathcal{D}}^\perp}$' ])
.background_gradient(cmap=cm_2, subset=['$B_{d_{\mathcal{D}}^\perp}$' ])
.set_caption('Tab. I All linear codes for IPM with $n=3$ shares over $\mathbb{F}_{2^4}$.')
.set_table_styles(styles))
$L_2$ | $L_3$ | $d_{\mathcal{D}}^\perp$ | $B_{d_{\mathcal{D}}^\perp}$ | Weight Enumerators | |
---|---|---|---|---|---|
0 | $\alpha^{0}$ | $\alpha^{0}$ | 3 | 4 | [0, 1, 3, 4, 6, 6, 9, 4, 12, 1] |
1 | $\alpha^{0}$ | $\alpha^{1}$ | 3 | 3 | [0, 1, 3, 3, 4, 1, 5, 1, 6, 3, 7, 2, 8, 2, 9, 1, 10, 1, 11, 1] |
2 | $\alpha^{0}$ | $\alpha^{2}$ | 3 | 2 | [0, 1, 3, 2, 4, 2, 5, 1, 6, 2, 7, 4, 8, 1, 9, 1, 10, 2] |
3 | $\alpha^{0}$ | $\alpha^{3}$ | 3 | 1 | [0, 1, 3, 1, 4, 3, 5, 1, 6, 2, 7, 3, 8, 2, 9, 3] |
4 | $\alpha^{0}$ | $\alpha^{4}$ | 4 | 3 | [0, 1, 4, 3, 5, 2, 6, 2, 7, 4, 8, 2, 9, 2] |
5 | $\alpha^{0}$ | $\alpha^{5}$ | 4 | 3 | [0, 1, 4, 3, 5, 1, 6, 3, 7, 6, 9, 1, 10, 1] |
6 | $\alpha^{0}$ | $\alpha^{6}$ | 4 | 3 | [0, 1, 4, 3, 5, 2, 6, 2, 7, 4, 8, 2, 9, 2] |
7 | $\alpha^{0}$ | $\alpha^{7}$ | 4 | 2 | [0, 1, 4, 2, 5, 4, 6, 1, 7, 4, 8, 3, 10, 1] |
8 | $\alpha^{0}$ | $\alpha^{8}$ | 4 | 2 | [0, 1, 4, 2, 5, 4, 6, 1, 7, 4, 8, 3, 10, 1] |
9 | $\alpha^{0}$ | $\alpha^{9}$ | 4 | 1 | [0, 1, 4, 1, 5, 5, 6, 3, 7, 2, 8, 2, 9, 1, 10, 1] |
10 | $\alpha^{0}$ | $\alpha^{10}$ | 5 | 6 | [0, 1, 5, 6, 6, 4, 7, 1, 8, 3, 11, 1] |
11 | $\alpha^{0}$ | $\alpha^{11}$ | 4 | 1 | [0, 1, 4, 1, 5, 5, 6, 3, 7, 2, 8, 2, 9, 1, 10, 1] |
12 | $\alpha^{0}$ | $\alpha^{12}$ | 3 | 1 | [0, 1, 3, 1, 4, 1, 5, 4, 6, 3, 7, 1, 8, 2, 9, 2, 10, 1] |
13 | $\alpha^{0}$ | $\alpha^{13}$ | 3 | 2 | [0, 1, 3, 2, 4, 1, 5, 3, 6, 2, 7, 1, 8, 4, 9, 1, 11, 1] |
14 | $\alpha^{0}$ | $\alpha^{14}$ | 3 | 3 | [0, 1, 3, 3, 4, 1, 5, 1, 6, 3, 7, 2, 8, 2, 9, 1, 10, 1, 11, 1] |
15 | $\alpha^{1}$ | $\alpha^{0}$ | 3 | 3 | [0, 1, 3, 3, 4, 1, 5, 1, 6, 3, 7, 2, 8, 2, 9, 1, 10, 1, 11, 1] |
16 | $\alpha^{1}$ | $\alpha^{1}$ | 3 | 3 | [0, 1, 3, 3, 4, 1, 5, 1, 6, 3, 7, 2, 8, 2, 9, 1, 10, 1, 11, 1] |
17 | $\alpha^{1}$ | $\alpha^{2}$ | 3 | 2 | [0, 1, 3, 2, 4, 2, 5, 1, 6, 2, 7, 4, 8, 1, 9, 1, 10, 2] |
18 | $\alpha^{1}$ | $\alpha^{3}$ | 3 | 1 | [0, 1, 3, 1, 4, 3, 5, 1, 6, 2, 7, 3, 8, 2, 9, 3] |
19 | $\alpha^{1}$ | $\alpha^{4}$ | 4 | 4 | [0, 1, 4, 4, 6, 4, 8, 7] |
20 | $\alpha^{1}$ | $\alpha^{5}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
21 | $\alpha^{1}$ | $\alpha^{6}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
22 | $\alpha^{1}$ | $\alpha^{7}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
23 | $\alpha^{1}$ | $\alpha^{8}$ | 4 | 2 | [0, 1, 4, 2, 5, 2, 6, 4, 7, 4, 8, 1, 9, 2] |
24 | $\alpha^{1}$ | $\alpha^{9}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 4, 7, 2, 8, 2, 9, 2] |
25 | $\alpha^{1}$ | $\alpha^{10}$ | 5 | 5 | [0, 1, 5, 5, 6, 5, 7, 2, 8, 1, 9, 1, 10, 1] |
26 | $\alpha^{1}$ | $\alpha^{11}$ | 5 | 5 | [0, 1, 5, 5, 6, 5, 7, 2, 8, 1, 9, 1, 10, 1] |
27 | $\alpha^{1}$ | $\alpha^{12}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 4, 7, 2, 8, 1, 9, 3] |
28 | $\alpha^{1}$ | $\alpha^{13}$ | 3 | 1 | [0, 1, 3, 1, 4, 2, 5, 3, 6, 1, 7, 3, 8, 3, 9, 1, 10, 1] |
29 | $\alpha^{1}$ | $\alpha^{14}$ | 3 | 2 | [0, 1, 3, 2, 4, 2, 5, 1, 6, 2, 7, 4, 8, 1, 9, 1, 10, 2] |
30 | $\alpha^{2}$ | $\alpha^{0}$ | 3 | 2 | [0, 1, 3, 2, 4, 2, 5, 1, 6, 2, 7, 4, 8, 1, 9, 1, 10, 2] |
31 | $\alpha^{2}$ | $\alpha^{1}$ | 3 | 2 | [0, 1, 3, 2, 4, 2, 5, 1, 6, 2, 7, 4, 8, 1, 9, 1, 10, 2] |
32 | $\alpha^{2}$ | $\alpha^{2}$ | 3 | 2 | [0, 1, 3, 2, 4, 1, 5, 3, 6, 2, 7, 1, 8, 4, 9, 1, 11, 1] |
33 | $\alpha^{2}$ | $\alpha^{3}$ | 3 | 1 | [0, 1, 3, 1, 4, 2, 5, 3, 6, 1, 7, 3, 8, 3, 9, 1, 10, 1] |
34 | $\alpha^{2}$ | $\alpha^{4}$ | 4 | 3 | [0, 1, 4, 3, 5, 2, 6, 2, 7, 4, 8, 2, 9, 2] |
35 | $\alpha^{2}$ | $\alpha^{5}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
36 | $\alpha^{2}$ | $\alpha^{6}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 2, 7, 4, 8, 4] |
37 | $\alpha^{2}$ | $\alpha^{7}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
38 | $\alpha^{2}$ | $\alpha^{8}$ | 4 | 2 | [0, 1, 4, 2, 6, 8, 8, 5] |
39 | $\alpha^{2}$ | $\alpha^{9}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
40 | $\alpha^{2}$ | $\alpha^{10}$ | 5 | 4 | [0, 1, 5, 4, 6, 6, 7, 2, 8, 1, 9, 2] |
41 | $\alpha^{2}$ | $\alpha^{11}$ | 5 | 4 | [0, 1, 5, 4, 6, 6, 7, 2, 8, 1, 9, 2] |
42 | $\alpha^{2}$ | $\alpha^{12}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 3, 7, 4, 8, 2, 10, 1] |
43 | $\alpha^{2}$ | $\alpha^{13}$ | 4 | 3 | [0, 1, 4, 3, 5, 2, 6, 2, 7, 4, 8, 2, 9, 2] |
44 | $\alpha^{2}$ | $\alpha^{14}$ | 3 | 1 | [0, 1, 3, 1, 4, 3, 5, 1, 6, 2, 7, 3, 8, 2, 9, 3] |
45 | $\alpha^{3}$ | $\alpha^{0}$ | 3 | 1 | [0, 1, 3, 1, 4, 3, 5, 1, 6, 2, 7, 3, 8, 2, 9, 3] |
46 | $\alpha^{3}$ | $\alpha^{1}$ | 3 | 1 | [0, 1, 3, 1, 4, 3, 5, 1, 6, 2, 7, 3, 8, 2, 9, 3] |
47 | $\alpha^{3}$ | $\alpha^{2}$ | 3 | 1 | [0, 1, 3, 1, 4, 2, 5, 3, 6, 1, 7, 3, 8, 3, 9, 1, 10, 1] |
48 | $\alpha^{3}$ | $\alpha^{3}$ | 3 | 1 | [0, 1, 3, 1, 4, 1, 5, 4, 6, 3, 7, 1, 8, 2, 9, 2, 10, 1] |
49 | $\alpha^{3}$ | $\alpha^{4}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 4, 7, 2, 8, 1, 9, 3] |
50 | $\alpha^{3}$ | $\alpha^{5}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 3, 7, 4, 8, 2, 10, 1] |
51 | $\alpha^{3}$ | $\alpha^{6}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
52 | $\alpha^{3}$ | $\alpha^{7}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
53 | $\alpha^{3}$ | $\alpha^{8}$ | 4 | 1 | [0, 1, 4, 1, 5, 1, 6, 6, 7, 6, 9, 1] |
54 | $\alpha^{3}$ | $\alpha^{9}$ | 4 | 1 | [0, 1, 4, 1, 5, 2, 6, 4, 7, 6, 8, 2] |
55 | $\alpha^{3}$ | $\alpha^{10}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
56 | $\alpha^{3}$ | $\alpha^{11}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
57 | $\alpha^{3}$ | $\alpha^{12}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
58 | $\alpha^{3}$ | $\alpha^{13}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
59 | $\alpha^{3}$ | $\alpha^{14}$ | 4 | 4 | [0, 1, 4, 4, 6, 4, 8, 7] |
60 | $\alpha^{4}$ | $\alpha^{0}$ | 4 | 3 | [0, 1, 4, 3, 5, 2, 6, 2, 7, 4, 8, 2, 9, 2] |
61 | $\alpha^{4}$ | $\alpha^{1}$ | 4 | 4 | [0, 1, 4, 4, 6, 4, 8, 7] |
62 | $\alpha^{4}$ | $\alpha^{2}$ | 4 | 3 | [0, 1, 4, 3, 5, 2, 6, 2, 7, 4, 8, 2, 9, 2] |
63 | $\alpha^{4}$ | $\alpha^{3}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 4, 7, 2, 8, 1, 9, 3] |
64 | $\alpha^{4}$ | $\alpha^{4}$ | 4 | 1 | [0, 1, 4, 1, 5, 5, 6, 3, 7, 2, 8, 2, 9, 1, 10, 1] |
65 | $\alpha^{4}$ | $\alpha^{5}$ | 5 | 5 | [0, 1, 5, 5, 6, 5, 7, 2, 8, 1, 9, 1, 10, 1] |
66 | $\alpha^{4}$ | $\alpha^{6}$ | 5 | 4 | [0, 1, 5, 4, 6, 6, 7, 2, 8, 1, 9, 2] |
67 | $\alpha^{4}$ | $\alpha^{7}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
68 | $\alpha^{4}$ | $\alpha^{8}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
69 | $\alpha^{4}$ | $\alpha^{9}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
70 | $\alpha^{4}$ | $\alpha^{10}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
71 | $\alpha^{4}$ | $\alpha^{11}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
72 | $\alpha^{4}$ | $\alpha^{12}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
73 | $\alpha^{4}$ | $\alpha^{13}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 2, 7, 4, 8, 4] |
74 | $\alpha^{4}$ | $\alpha^{14}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
75 | $\alpha^{5}$ | $\alpha^{0}$ | 4 | 3 | [0, 1, 4, 3, 5, 1, 6, 3, 7, 6, 9, 1, 10, 1] |
76 | $\alpha^{5}$ | $\alpha^{1}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
77 | $\alpha^{5}$ | $\alpha^{2}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
78 | $\alpha^{5}$ | $\alpha^{3}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 3, 7, 4, 8, 2, 10, 1] |
79 | $\alpha^{5}$ | $\alpha^{4}$ | 5 | 5 | [0, 1, 5, 5, 6, 5, 7, 2, 8, 1, 9, 1, 10, 1] |
80 | $\alpha^{5}$ | $\alpha^{5}$ | 5 | 6 | [0, 1, 5, 6, 6, 4, 7, 1, 8, 3, 11, 1] |
81 | $\alpha^{5}$ | $\alpha^{6}$ | 5 | 5 | [0, 1, 5, 5, 6, 5, 7, 2, 8, 1, 9, 1, 10, 1] |
82 | $\alpha^{5}$ | $\alpha^{7}$ | 5 | 4 | [0, 1, 5, 4, 6, 6, 7, 2, 8, 1, 9, 2] |
83 | $\alpha^{5}$ | $\alpha^{8}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
84 | $\alpha^{5}$ | $\alpha^{9}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
85 | $\alpha^{5}$ | $\alpha^{10}$ | 6 | 12 | [0, 1, 6, 12, 8, 3] |
86 | $\alpha^{5}$ | $\alpha^{11}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
87 | $\alpha^{5}$ | $\alpha^{12}$ | 4 | 1 | [0, 1, 4, 1, 5, 1, 6, 6, 7, 6, 9, 1] |
88 | $\alpha^{5}$ | $\alpha^{13}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
89 | $\alpha^{5}$ | $\alpha^{14}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
90 | $\alpha^{6}$ | $\alpha^{0}$ | 4 | 3 | [0, 1, 4, 3, 5, 2, 6, 2, 7, 4, 8, 2, 9, 2] |
91 | $\alpha^{6}$ | $\alpha^{1}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
92 | $\alpha^{6}$ | $\alpha^{2}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 2, 7, 4, 8, 4] |
93 | $\alpha^{6}$ | $\alpha^{3}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
94 | $\alpha^{6}$ | $\alpha^{4}$ | 5 | 4 | [0, 1, 5, 4, 6, 6, 7, 2, 8, 1, 9, 2] |
95 | $\alpha^{6}$ | $\alpha^{5}$ | 5 | 5 | [0, 1, 5, 5, 6, 5, 7, 2, 8, 1, 9, 1, 10, 1] |
96 | $\alpha^{6}$ | $\alpha^{6}$ | 4 | 1 | [0, 1, 4, 1, 5, 5, 6, 3, 7, 2, 8, 2, 9, 1, 10, 1] |
97 | $\alpha^{6}$ | $\alpha^{7}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 4, 7, 2, 8, 2, 9, 2] |
98 | $\alpha^{6}$ | $\alpha^{8}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
99 | $\alpha^{6}$ | $\alpha^{9}$ | 4 | 1 | [0, 1, 4, 1, 5, 2, 6, 4, 7, 6, 8, 2] |
100 | $\alpha^{6}$ | $\alpha^{10}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
101 | $\alpha^{6}$ | $\alpha^{11}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
102 | $\alpha^{6}$ | $\alpha^{12}$ | 4 | 1 | [0, 1, 4, 1, 5, 2, 6, 4, 7, 6, 8, 2] |
103 | $\alpha^{6}$ | $\alpha^{13}$ | 4 | 2 | [0, 1, 4, 2, 6, 8, 8, 5] |
104 | $\alpha^{6}$ | $\alpha^{14}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
105 | $\alpha^{7}$ | $\alpha^{0}$ | 4 | 2 | [0, 1, 4, 2, 5, 4, 6, 1, 7, 4, 8, 3, 10, 1] |
106 | $\alpha^{7}$ | $\alpha^{1}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
107 | $\alpha^{7}$ | $\alpha^{2}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
108 | $\alpha^{7}$ | $\alpha^{3}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
109 | $\alpha^{7}$ | $\alpha^{4}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
110 | $\alpha^{7}$ | $\alpha^{5}$ | 5 | 4 | [0, 1, 5, 4, 6, 6, 7, 2, 8, 1, 9, 2] |
111 | $\alpha^{7}$ | $\alpha^{6}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 4, 7, 2, 8, 2, 9, 2] |
112 | $\alpha^{7}$ | $\alpha^{7}$ | 4 | 2 | [0, 1, 4, 2, 5, 4, 6, 1, 7, 4, 8, 3, 10, 1] |
113 | $\alpha^{7}$ | $\alpha^{8}$ | 4 | 2 | [0, 1, 4, 2, 5, 2, 6, 4, 7, 4, 8, 1, 9, 2] |
114 | $\alpha^{7}$ | $\alpha^{9}$ | 4 | 2 | [0, 1, 4, 2, 6, 8, 8, 5] |
115 | $\alpha^{7}$ | $\alpha^{10}$ | 4 | 1 | [0, 1, 4, 1, 5, 1, 6, 6, 7, 6, 9, 1] |
116 | $\alpha^{7}$ | $\alpha^{11}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
117 | $\alpha^{7}$ | $\alpha^{12}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
118 | $\alpha^{7}$ | $\alpha^{13}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
119 | $\alpha^{7}$ | $\alpha^{14}$ | 4 | 2 | [0, 1, 4, 2, 5, 2, 6, 4, 7, 4, 8, 1, 9, 2] |
120 | $\alpha^{8}$ | $\alpha^{0}$ | 4 | 2 | [0, 1, 4, 2, 5, 4, 6, 1, 7, 4, 8, 3, 10, 1] |
121 | $\alpha^{8}$ | $\alpha^{1}$ | 4 | 2 | [0, 1, 4, 2, 5, 2, 6, 4, 7, 4, 8, 1, 9, 2] |
122 | $\alpha^{8}$ | $\alpha^{2}$ | 4 | 2 | [0, 1, 4, 2, 6, 8, 8, 5] |
123 | $\alpha^{8}$ | $\alpha^{3}$ | 4 | 1 | [0, 1, 4, 1, 5, 1, 6, 6, 7, 6, 9, 1] |
124 | $\alpha^{8}$ | $\alpha^{4}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
125 | $\alpha^{8}$ | $\alpha^{5}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
126 | $\alpha^{8}$ | $\alpha^{6}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
127 | $\alpha^{8}$ | $\alpha^{7}$ | 4 | 2 | [0, 1, 4, 2, 5, 2, 6, 4, 7, 4, 8, 1, 9, 2] |
128 | $\alpha^{8}$ | $\alpha^{8}$ | 4 | 2 | [0, 1, 4, 2, 5, 4, 6, 1, 7, 4, 8, 3, 10, 1] |
129 | $\alpha^{8}$ | $\alpha^{9}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
130 | $\alpha^{8}$ | $\alpha^{10}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
131 | $\alpha^{8}$ | $\alpha^{11}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
132 | $\alpha^{8}$ | $\alpha^{12}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
133 | $\alpha^{8}$ | $\alpha^{13}$ | 5 | 4 | [0, 1, 5, 4, 6, 6, 7, 2, 8, 1, 9, 2] |
134 | $\alpha^{8}$ | $\alpha^{14}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 4, 7, 2, 8, 2, 9, 2] |
135 | $\alpha^{9}$ | $\alpha^{0}$ | 4 | 1 | [0, 1, 4, 1, 5, 5, 6, 3, 7, 2, 8, 2, 9, 1, 10, 1] |
136 | $\alpha^{9}$ | $\alpha^{1}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 4, 7, 2, 8, 2, 9, 2] |
137 | $\alpha^{9}$ | $\alpha^{2}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
138 | $\alpha^{9}$ | $\alpha^{3}$ | 4 | 1 | [0, 1, 4, 1, 5, 2, 6, 4, 7, 6, 8, 2] |
139 | $\alpha^{9}$ | $\alpha^{4}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
140 | $\alpha^{9}$ | $\alpha^{5}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
141 | $\alpha^{9}$ | $\alpha^{6}$ | 4 | 1 | [0, 1, 4, 1, 5, 2, 6, 4, 7, 6, 8, 2] |
142 | $\alpha^{9}$ | $\alpha^{7}$ | 4 | 2 | [0, 1, 4, 2, 6, 8, 8, 5] |
143 | $\alpha^{9}$ | $\alpha^{8}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
144 | $\alpha^{9}$ | $\alpha^{9}$ | 4 | 3 | [0, 1, 4, 3, 5, 2, 6, 2, 7, 4, 8, 2, 9, 2] |
145 | $\alpha^{9}$ | $\alpha^{10}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
146 | $\alpha^{9}$ | $\alpha^{11}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 2, 7, 4, 8, 4] |
147 | $\alpha^{9}$ | $\alpha^{12}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
148 | $\alpha^{9}$ | $\alpha^{13}$ | 5 | 4 | [0, 1, 5, 4, 6, 6, 7, 2, 8, 1, 9, 2] |
149 | $\alpha^{9}$ | $\alpha^{14}$ | 5 | 5 | [0, 1, 5, 5, 6, 5, 7, 2, 8, 1, 9, 1, 10, 1] |
150 | $\alpha^{10}$ | $\alpha^{0}$ | 5 | 6 | [0, 1, 5, 6, 6, 4, 7, 1, 8, 3, 11, 1] |
151 | $\alpha^{10}$ | $\alpha^{1}$ | 5 | 5 | [0, 1, 5, 5, 6, 5, 7, 2, 8, 1, 9, 1, 10, 1] |
152 | $\alpha^{10}$ | $\alpha^{2}$ | 5 | 4 | [0, 1, 5, 4, 6, 6, 7, 2, 8, 1, 9, 2] |
153 | $\alpha^{10}$ | $\alpha^{3}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
154 | $\alpha^{10}$ | $\alpha^{4}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
155 | $\alpha^{10}$ | $\alpha^{5}$ | 6 | 12 | [0, 1, 6, 12, 8, 3] |
156 | $\alpha^{10}$ | $\alpha^{6}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
157 | $\alpha^{10}$ | $\alpha^{7}$ | 4 | 1 | [0, 1, 4, 1, 5, 1, 6, 6, 7, 6, 9, 1] |
158 | $\alpha^{10}$ | $\alpha^{8}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
159 | $\alpha^{10}$ | $\alpha^{9}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
160 | $\alpha^{10}$ | $\alpha^{10}$ | 4 | 3 | [0, 1, 4, 3, 5, 1, 6, 3, 7, 6, 9, 1, 10, 1] |
161 | $\alpha^{10}$ | $\alpha^{11}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
162 | $\alpha^{10}$ | $\alpha^{12}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
163 | $\alpha^{10}$ | $\alpha^{13}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 3, 7, 4, 8, 2, 10, 1] |
164 | $\alpha^{10}$ | $\alpha^{14}$ | 5 | 5 | [0, 1, 5, 5, 6, 5, 7, 2, 8, 1, 9, 1, 10, 1] |
165 | $\alpha^{11}$ | $\alpha^{0}$ | 4 | 1 | [0, 1, 4, 1, 5, 5, 6, 3, 7, 2, 8, 2, 9, 1, 10, 1] |
166 | $\alpha^{11}$ | $\alpha^{1}$ | 5 | 5 | [0, 1, 5, 5, 6, 5, 7, 2, 8, 1, 9, 1, 10, 1] |
167 | $\alpha^{11}$ | $\alpha^{2}$ | 5 | 4 | [0, 1, 5, 4, 6, 6, 7, 2, 8, 1, 9, 2] |
168 | $\alpha^{11}$ | $\alpha^{3}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
169 | $\alpha^{11}$ | $\alpha^{4}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
170 | $\alpha^{11}$ | $\alpha^{5}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
171 | $\alpha^{11}$ | $\alpha^{6}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
172 | $\alpha^{11}$ | $\alpha^{7}$ | 5 | 2 | [0, 1, 5, 2, 6, 6, 7, 6, 8, 1] |
173 | $\alpha^{11}$ | $\alpha^{8}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
174 | $\alpha^{11}$ | $\alpha^{9}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 2, 7, 4, 8, 4] |
175 | $\alpha^{11}$ | $\alpha^{10}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
176 | $\alpha^{11}$ | $\alpha^{11}$ | 4 | 3 | [0, 1, 4, 3, 5, 2, 6, 2, 7, 4, 8, 2, 9, 2] |
177 | $\alpha^{11}$ | $\alpha^{12}$ | 4 | 4 | [0, 1, 4, 4, 6, 4, 8, 7] |
178 | $\alpha^{11}$ | $\alpha^{13}$ | 4 | 3 | [0, 1, 4, 3, 5, 2, 6, 2, 7, 4, 8, 2, 9, 2] |
179 | $\alpha^{11}$ | $\alpha^{14}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 4, 7, 2, 8, 1, 9, 3] |
180 | $\alpha^{12}$ | $\alpha^{0}$ | 3 | 1 | [0, 1, 3, 1, 4, 1, 5, 4, 6, 3, 7, 1, 8, 2, 9, 2, 10, 1] |
181 | $\alpha^{12}$ | $\alpha^{1}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 4, 7, 2, 8, 1, 9, 3] |
182 | $\alpha^{12}$ | $\alpha^{2}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 3, 7, 4, 8, 2, 10, 1] |
183 | $\alpha^{12}$ | $\alpha^{3}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
184 | $\alpha^{12}$ | $\alpha^{4}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
185 | $\alpha^{12}$ | $\alpha^{5}$ | 4 | 1 | [0, 1, 4, 1, 5, 1, 6, 6, 7, 6, 9, 1] |
186 | $\alpha^{12}$ | $\alpha^{6}$ | 4 | 1 | [0, 1, 4, 1, 5, 2, 6, 4, 7, 6, 8, 2] |
187 | $\alpha^{12}$ | $\alpha^{7}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
188 | $\alpha^{12}$ | $\alpha^{8}$ | 5 | 4 | [0, 1, 5, 4, 6, 4, 7, 4, 8, 3] |
189 | $\alpha^{12}$ | $\alpha^{9}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
190 | $\alpha^{12}$ | $\alpha^{10}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
191 | $\alpha^{12}$ | $\alpha^{11}$ | 4 | 4 | [0, 1, 4, 4, 6, 4, 8, 7] |
192 | $\alpha^{12}$ | $\alpha^{12}$ | 3 | 1 | [0, 1, 3, 1, 4, 3, 5, 1, 6, 2, 7, 3, 8, 2, 9, 3] |
193 | $\alpha^{12}$ | $\alpha^{13}$ | 3 | 1 | [0, 1, 3, 1, 4, 3, 5, 1, 6, 2, 7, 3, 8, 2, 9, 3] |
194 | $\alpha^{12}$ | $\alpha^{14}$ | 3 | 1 | [0, 1, 3, 1, 4, 2, 5, 3, 6, 1, 7, 3, 8, 3, 9, 1, 10, 1] |
195 | $\alpha^{13}$ | $\alpha^{0}$ | 3 | 2 | [0, 1, 3, 2, 4, 1, 5, 3, 6, 2, 7, 1, 8, 4, 9, 1, 11, 1] |
196 | $\alpha^{13}$ | $\alpha^{1}$ | 3 | 1 | [0, 1, 3, 1, 4, 2, 5, 3, 6, 1, 7, 3, 8, 3, 9, 1, 10, 1] |
197 | $\alpha^{13}$ | $\alpha^{2}$ | 4 | 3 | [0, 1, 4, 3, 5, 2, 6, 2, 7, 4, 8, 2, 9, 2] |
198 | $\alpha^{13}$ | $\alpha^{3}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
199 | $\alpha^{13}$ | $\alpha^{4}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 2, 7, 4, 8, 4] |
200 | $\alpha^{13}$ | $\alpha^{5}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
201 | $\alpha^{13}$ | $\alpha^{6}$ | 4 | 2 | [0, 1, 4, 2, 6, 8, 8, 5] |
202 | $\alpha^{13}$ | $\alpha^{7}$ | 4 | 1 | [0, 1, 4, 1, 5, 3, 6, 4, 7, 4, 8, 2, 9, 1] |
203 | $\alpha^{13}$ | $\alpha^{8}$ | 5 | 4 | [0, 1, 5, 4, 6, 6, 7, 2, 8, 1, 9, 2] |
204 | $\alpha^{13}$ | $\alpha^{9}$ | 5 | 4 | [0, 1, 5, 4, 6, 6, 7, 2, 8, 1, 9, 2] |
205 | $\alpha^{13}$ | $\alpha^{10}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 3, 7, 4, 8, 2, 10, 1] |
206 | $\alpha^{13}$ | $\alpha^{11}$ | 4 | 3 | [0, 1, 4, 3, 5, 2, 6, 2, 7, 4, 8, 2, 9, 2] |
207 | $\alpha^{13}$ | $\alpha^{12}$ | 3 | 1 | [0, 1, 3, 1, 4, 3, 5, 1, 6, 2, 7, 3, 8, 2, 9, 3] |
208 | $\alpha^{13}$ | $\alpha^{13}$ | 3 | 2 | [0, 1, 3, 2, 4, 2, 5, 1, 6, 2, 7, 4, 8, 1, 9, 1, 10, 2] |
209 | $\alpha^{13}$ | $\alpha^{14}$ | 3 | 2 | [0, 1, 3, 2, 4, 2, 5, 1, 6, 2, 7, 4, 8, 1, 9, 1, 10, 2] |
210 | $\alpha^{14}$ | $\alpha^{0}$ | 3 | 3 | [0, 1, 3, 3, 4, 1, 5, 1, 6, 3, 7, 2, 8, 2, 9, 1, 10, 1, 11, 1] |
211 | $\alpha^{14}$ | $\alpha^{1}$ | 3 | 2 | [0, 1, 3, 2, 4, 2, 5, 1, 6, 2, 7, 4, 8, 1, 9, 1, 10, 2] |
212 | $\alpha^{14}$ | $\alpha^{2}$ | 3 | 1 | [0, 1, 3, 1, 4, 3, 5, 1, 6, 2, 7, 3, 8, 2, 9, 3] |
213 | $\alpha^{14}$ | $\alpha^{3}$ | 4 | 4 | [0, 1, 4, 4, 6, 4, 8, 7] |
214 | $\alpha^{14}$ | $\alpha^{4}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
215 | $\alpha^{14}$ | $\alpha^{5}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
216 | $\alpha^{14}$ | $\alpha^{6}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 2, 7, 4, 8, 3, 9, 1] |
217 | $\alpha^{14}$ | $\alpha^{7}$ | 4 | 2 | [0, 1, 4, 2, 5, 2, 6, 4, 7, 4, 8, 1, 9, 2] |
218 | $\alpha^{14}$ | $\alpha^{8}$ | 4 | 1 | [0, 1, 4, 1, 5, 4, 6, 4, 7, 2, 8, 2, 9, 2] |
219 | $\alpha^{14}$ | $\alpha^{9}$ | 5 | 5 | [0, 1, 5, 5, 6, 5, 7, 2, 8, 1, 9, 1, 10, 1] |
220 | $\alpha^{14}$ | $\alpha^{10}$ | 5 | 5 | [0, 1, 5, 5, 6, 5, 7, 2, 8, 1, 9, 1, 10, 1] |
221 | $\alpha^{14}$ | $\alpha^{11}$ | 4 | 2 | [0, 1, 4, 2, 5, 3, 6, 4, 7, 2, 8, 1, 9, 3] |
222 | $\alpha^{14}$ | $\alpha^{12}$ | 3 | 1 | [0, 1, 3, 1, 4, 2, 5, 3, 6, 1, 7, 3, 8, 3, 9, 1, 10, 1] |
223 | $\alpha^{14}$ | $\alpha^{13}$ | 3 | 2 | [0, 1, 3, 2, 4, 2, 5, 1, 6, 2, 7, 4, 8, 1, 9, 1, 10, 2] |
224 | $\alpha^{14}$ | $\alpha^{14}$ | 3 | 3 | [0, 1, 3, 3, 4, 1, 5, 1, 6, 3, 7, 2, 8, 2, 9, 1, 10, 1, 11, 1] |
We focus on the the linear codes with greater $d_{\mathcal{D}}^\perp$, which are better in the sense of side-channel resistance (from our paper).
# Finding the indices of d_C=6
d_index = []
d_index_L2 = []
d_index_L3 = []
d_C = 6
for i in range(len(wd)-1):
if wd[i][2] == d_C:
d_index.append(i)
d_index_L2.append(int(i/15))
d_index_L3.append(int(i%15))
#d_index = np.array(d_index)
print(len(d_index))
print(d_index)
2 [85, 155]
def highlight(s, threshold, column):
is_min = pd.Series(data=False, index=s.index)
is_min[column] = (s.loc[column] <= threshold)
return ['background-color: gold' if is_min.any() else '' for v in is_min]
df_4 = pd.DataFrame({'$L_2$': np.array(alpha_all)[d_index_L2], '$L_3$': np.array(alpha_all)[d_index_L3], '$d_{\mathcal{D}}^\perp$':
d_all[d_index], '$B_{d_{\mathcal{D}}^\perp}$': B_all[d_index], 'Weight Enumerators': wd[d_index]})
df_4 = df_4.sort_values(by=['$B_{d_{\mathcal{D}}^\perp}$'], ascending=True)
(df_4.style
.apply(highlight, threshold=12, column=['$B_{d_{\mathcal{D}}^\perp}$'], axis=1)
.background_gradient(cmap=cm_2, subset=['$B_{d_{\mathcal{D}}^\perp}$' ])
.set_caption('Tab. II Linear codes for IPM with $d_{\mathcal{D}}^\perp=6$.')
.set_table_styles(styles))
$L_2$ | $L_3$ | $d_{\mathcal{D}}^\perp$ | $B_{d_{\mathcal{D}}^\perp}$ | Weight Enumerators | |
---|---|---|---|---|---|
0 | $\alpha^{5}$ | $\alpha^{10}$ | 6 | 12 | [0, 1, 6, 12, 8, 3] |
1 | $\alpha^{10}$ | $\alpha^{5}$ | 6 | 12 | [0, 1, 6, 12, 8, 3] |
As shown in our paper, the codes satifying two conditions are optimal:
Note that we use two leakage detection metrics SNR (signal-to-noise ratio) and MI (mutual information), and one leakage exploitation metric SR (success rate) to assess the side-channel resistance of IPM with different codes.
As a result of Tab. II, we conclude that the optimal codes for IPM are genetated by $\mathbf{H}=[[L_2, 1, 0], [L_3, 0, 1]]$ where $(L_2, L_3)\in\{(\alpha^5, \alpha^{10}), (\alpha^{10}, \alpha^{5})\}$. Note that these two codes are equivalent.
The two optimal codes are equivalent and the generator matrix of the first one is: $$ \mathbf{H}_{optimal}=\left( \begin{matrix} \alpha^{5} & 1 & 0 \\ \alpha^{10} & 0 & 1 \end{matrix} \right) \in \mathbb{F}_{2^4}^{2\times 3} = \left( \begin{matrix} 0&1&1&0&1&0&0&0&0&0&0&0 \\ 0&0&1&1&0&1&0&0&0&0&0&0 \\ 1&1&0&1&0&0&1&0&0&0&0&0 \\ 1&0&1&0&0&0&0&1&0&0&0&0 \\ 1&1&1&0&0&0&0&0&1&0&0&0 \\ 0&1&1&1&0&0&0&0&0&1&0&0 \\ 1&1&1&1&0&0&0&0&0&0&1&0 \\ 1&0&1&1&0&0&0&0&0&0&0&1 \end{matrix} \right) \normalsize\in \mathbb{F}_2^{8\times 12} $$
BKLC is the short of Best Known Linear Code. Note that the code $[12, 4, 6]$ is unique.
The BKLC is defined as An [n, k] linear code $\mathcal{C}$ is said to be a best known linear [n, k] code (BKLC) if $\mathcal{C}$ has the highest minimum weight among all known [n, k] linear codes.See definition from Magma.
bklc_index = [-1]
cm_3 = sns.light_palette("red", as_cmap=True, reverse=True)
df_bklc = pd.DataFrame({'$L_2$': [' --'], '$L_3$': [' --'], '$d_{\mathcal{D}}^\perp$': d_all[-1], '$B_{d_{\mathcal{D}}^\perp}$':
B_all[-1], 'Weight Enumerators': wd[bklc_index]})
(df_bklc.style
.background_gradient(cmap=cm_3, subset=['$d_{\mathcal{D}}^\perp$', '$B_{d_{\mathcal{D}}^\perp}$'])
.set_caption('Tab. III A BKLC code for IPM with $d_{\mathcal{D}}^\perp=6$.')
.set_table_styles(styles))
$L_2$ | $L_3$ | $d_{\mathcal{D}}^\perp$ | $B_{d_{\mathcal{D}}^\perp}$ | Weight Enumerators | |
---|---|---|---|---|---|
0 | -- | -- | 6 | 12 | [0, 1, 6, 12, 8, 3] |
We can see that this BKLC code is equivalent to the best linear codes in IPM. It is interesting to notice that the BKLC code $[12, 4, 6]$ can be generated by $\mathbf{H}^\perp=[1, L_2=\alpha^5, L_3=\alpha^{10}]$.
The generator matrix of the dual code of this BKLC code is: $$ \mathbf{H}_{BKLC}^\perp= \left( \begin{matrix} 0&1&1&0&1&0&0&0&0&0&0&0 \\ 0&0&1&1&0&1&0&0&0&0&0&0 \\ 1&1&0&1&0&0&1&0&0&0&0&0 \\ 1&0&1&0&0&0&0&1&0&0&0&0 \\ 1&1&1&0&0&0&0&0&1&0&0&0 \\ 0&1&1&1&0&0&0&0&0&1&0&0 \\ 1&1&1&1&0&0&0&0&0&0&1&0 \\ 1&0&1&1&0&0&0&0&0&0&0&1 \end{matrix} \right) \normalsize\in \mathbb{F}_2^{8\times 12} $$