In coding theory, there are parity-check codes whose parity-check matrices H$H$ are generated via column permutations. For instance, the binary LDPC codes constructed in Gallager's 1962 IRE Trans paper uses the following H$H$ matrix:
[ X1 ]
[ X2 ]
[ .... ]
[ Xn ]$$H = \left[\begin{array}{c} X_1\\ X_2\\ \vdots\\ X_n \end{array}\right]$$
where submatrices X2 .. Xn$X_i$, $2 \leq i \leq n$ are just random column permutationsobtained by randomly permuting columns of X1$X_1$ of certain kind. However, to make the codes efficient insuitable to iterative decoding, there istypically we impose one restriction which requires that any two row vectors in H$H$ mustn't have 2 or more overlapping nonzero elements. By overlappingIn other words, I mean for two different row vectorswe would like $H$ to be free of H, say Va and Vb, there exists an index i s.t$2 \times 2$ all-one matrix. Va[i] = Vb[i];
I tried to write a program to do that, but so far my effort is not good. I'm wondering isif there is any known algorithmic way to adjust the permutated submatrices X1..Xn$X_1, \dots, X_n$ so that the overlapping constraint is satisfied?
Thanks for your help!