An infinite family of binary error correcting codes which is defined recursively.
Let D1 be a [n, k1, d1] code and D2 be a [n, k2, d2] 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 = {u|u+v | u in D1 and v in D2}
Note: | denotes concatentation, then the symbol for "such that"
If Gi is the generator matrix for the code Di, then the generator matrix of C is
G= |G1 G1|
|0  G2|
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)=Im 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.