Linear Codes

Linear codes provide an optimal way for transmitting blocks of data over noisy channels

Originator: Andries E. Brouwer and Markus Grassl

(808 elements)

Examples

Basic Examples

Retrieve the resource:

In[1]:=
ResourceObject["Linear Codes"]
Out[1]=

Retrieve the default content:

In[2]:=
ResourceData["Linear Codes"]
Out[2]=

Other Examples

Show data for the Golay code (A further exploration can be found at the Wolfram Demonstration Golay Code):

In[3]:=
ResourceData["Linear Codes"][{23, 12}]
Out[3]=

Generate a triangle of optimal distances with the blocklength (length of the codeword) on the left and the dimension (number of data bits) on the bottom:

In[4]:=
With[{data = ResourceData["Linear Codes"]}, 
 Style[Text@
   Grid[Append[
     PadRight[Prepend[#, #[[1]]], 40, ""] & /@ 
      Table[data[{a, b}]["Distance"], {a, 3, 40}, {b, 1, a - 1}], 
     Join[{""}, Range[1, 39]]], 
    Dividers -> {{2 -> True}, {39 -> True}}], 10]]
Out[4]=

Generate a grid of some of the optimal generator matrices:

In[5]:=
With[{data = ResourceData["Linear Codes"]}, 
 Grid[Table[
   ArrayPlot[data[{a, b}]["GeneratorMatrix"], 
    PixelConstrained -> True, 
    ImageSize -> {2 data[{a, b}]["BlockLength"] + 4, 
      2 data[{a, b}]["Dimension"] + 4}, Frame -> False], {a, 20, 
    28}, {b, 8, 16}]]]
Out[5]=

Wolfram Research, "Linear Codes" from the Wolfram Data Repository. (2017) https://doi.org/10.24097/wolfram.23530.data

Source Metadata

Data Downloads