An infinite family of binary error correcting codes which is defined recursively.

Let D_{1} be a [*n, k _{1}, d_{1}*] code and D

_{2}be a [

*n, k*] code (where n denotes the length of a codeword, k the dimension of the code, and d the minimum distance between codewords). Then define C = {

_{2}, d_{2}**u**|

**u**+

**v**|

**u**in D

_{1}and

**v**in D

_{2}}

*Note:*|

*denotes concatentation, then the symbol for "such that"*

If G

_{i}is the generator matrix for the code D

_{i}, then the generator matrix of C is G= |G

_{1}G

_{1}|

|0 G

_{2}|

This is how we recursively define the code:

G(r,m) = |G(r,m-1) G(r,m-1) |

| 0 G(r-1,m-1) |

with base cases:

G(0,m)=[1 1 1 1 ... 1] the binary repetition code of length m.

G(m,m)=I_{m}the mxm identity matrix.

My apologies for the bad symbol formatting, but I discovered shortly after beginning that I couldn't view the HTML symbols in my browser. I tried other computers, and many of them couldn't register the symbols, so I decided to go with ASCII, and it doesn't look so nice. If there's any question about what I was trying to do, just /msg me.