# What is the reason behind a specific ordering of the rows in the generator matrix for Hamming codes?

What order the rows are in a Hamming generator matrix are irrelevant for the Hamming coding to work, given the check matrix is built accoridngly.

In order to limit cognitive overload, it could have been decided that the "official" way of doing it should be either all data rows first then all parity rows after, all in ascending order, or just all rows in ascending order. In that case, in the description of a communications protocol it would be enough to specify the number of bits without providing the generator matrix, and everyone would know how to implement it. Very simple software libraries could be written which implement it.

However, after looking at some implementations, this is not the case. People seem to use arbitrary matrices, such as

$$\begin{pmatrix} 1 & 1 & 0 & 1 \\ 1 & 0 & 1 & 1 \\ 1 & 0 & 0 & 0 \\ 0 & 1 & 1 & 1 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}$$

Is there a reason why one such ordering would be superior to other orderings?