Cheap and Secure Web Hosting Provider : See Now

[Answers] Need help understanding textbook solution

, ,
Problem Detail:

I am studying for my final exam in coding-theory class, and as textbook provides poorly written solution to the exercise question, I decided to ask the question here, hoping for more clarification.

Question:

If \$C_1\$, \$C_2 \subseteq V\$ are linear codes, with generator matrices \$G_1\$, \$G_2\$ and parity-check matrices \$H_1\$, \$H_2\$, explain how to find a generator matrix for \$C_1 + C_2\$ and a parity-check matrix for \$C_1 \cap C_2\$.

Textbook solution:

Form a generator matrix \$G\$ for \$C_1 + C_2\$ by adjoining the rows of \$G_2\$ to \$G_1\$ and then using elementary row operations to eliminate linearly dependent rows. A similar process with the rows of \$H_1\$ and \$H_2\$ gives a parity-check matrix \$H\$ for \$C_1 \cap C_2\$.

Clarification: My question is by word "adjoining", solution is referring to addition of two matrices or adjudicating them. Also, what is definition of "linearly dependent row"? If you could provide an example, it would be great.

Note: I really don't like asking this type of question but combination of unhelpful professor and awful textbook made me to do this.

Try to think of it that way. A code \$C\$, is just a subspace. A generator matrix is simply one basis of that subspace (i.e., each row is a basis element).

So in order to create the subspace \$C_1+C_2\$, you can take a basis of \$C_1\$ (for instance, the rows of its generator matrix), and add to it a basis of \$C_2\$. The new set is not a basis anymore, but if you eliminate dependencies it will be, and this new basis can be seen as the generator matrix of the new subspace (why?).

Same goes with \$C_1 \cap C_2\$. This subspace contains only elements which are both in \$C_1\$ and in \$C_2\$. Stated via parity matrix, it contains only vectors that are in the kernel of \$H_1\$ and in the kernel of \$H_2\$. What happens if you build a matrix \$H\$ that contains both the rows of \$H_1\$ and of \$H_2\$? Which vectors will be in the kernel now?