# Binary linear codes, juxtaposition and similarity

My question is about binary linear codes and some properties which are fairly straightforward but I don't know whether there is a name for in the literature. I haven't been able to find anything on it. This has applications to something I'm working on defining some algebras from codes.

Let $\mathcal{C}$ be an $(n,k)$ binary linear code with generator matrix $G$. A new code can be formed by juxtaposing two (or more) copies of the generator matrix. So, the new code $\mathcal{D}$ is a $(2n,k)$-linear code with generator matrix $(G|G)$. (In general, one could do this with different generator matrices and even different $(n',k)$-codes.)

In one sense the two codes $\mathcal{C}$ and $\mathcal{D}$ are similar: they both have the same number of elements and group-theoretically they are isomorphic, but the Hamming distance, for example, has doubled.

One property that I'm interested in is the following. Consider the bitwise multiplication of codewords (or if you prefer the intersection of the supports of the codewords). If we can recover the vectors $e_1 = (1,0,\dots,0)$ up to $e_n=(0,\dots,0,1)$, then the code is somehow in minimal form. If we do this to a juxtaposed code which is a doubling, we recover weight two vectors. For example: $$G = \left(\begin{matrix} 1&1&0\\0&1&1 \end{matrix}\right)$$ generates a code from which you can recover the standard basis vectors, eg $e_1 = (1,1,0)\cdot(1,0,1)$. Whereas in the juxtaposed/doubled code with generator matrix $$G = \left(\begin{array}{ccc|ccc} 1&1&0&1&1&0\\0&1&1& 0&1&1 \end{array}\right)$$ doing the similar thing you recover $(1,0,0,1,0,0) = (1,1,0,1,1,0)\cdot(1,0,1,1,0,1)$.

I could make up some terminology for this property, but it seems like something which should have been considered before. I'm really an algebrist and not an expert on coding theory. Is there a name for such a property? And where might I read about it?

The term direct sum of codes $C_1$ and $C_2$ is used for the code $$\{(u|v): u \in C_1, v \in C_2\},$$ and using this term in a search results in some publications.
In this context, also discussed in Pellicaan's notes, the $(u|u+v)$ construction allows one to obtain a new code with minimum distance $\min(2d_1,d_2).$