It creates codewords of weight \(w\)  in a code of parity-check matrix \({\mathbf {H}}\)  as sums \({\mathbf {x}}_1 + {\mathbf {x}}_2\)  of two lists \({{L}}_1\)  and \({{L}}_2\)  with a complexity which is of the form
\(\mathop {}\mathopen {}O\mathopen {}\left(\max \left(\#{{L}}_1,\#{{L}}_2,\frac{\#{{L}}_1\cdot \#{{L}}_2}{2^\ell } \right)\right)\)  if the \({\mathbf {H}}{\mathbf {x}}_i^\intercal \) 's are independently distributed uniformly at randomise (we will make this assumption from now on). It is clear that [1]} and [2]} is more or less a direct application of this method. [3]} and [4]} use several layers of this function.
[3]} starts by partitioning the set of positions of the vectors of \(\mathbb {F}_2^n\)  which are considered in two sets \({{I}}_1\)  and \({{I}}_2\)  of about the same size. Then it starts with two lists \({{L}}_1^0\)  and \({{L}}^0_2\)  of all elements of weight \(p_0\)  and support \({{I}}_1\)  and \({{I}}_2\)  respectively. It merges them in a list \({{L}}^1\)  of elements of weight \(p_1\)  in the kernel of a parity-check matrix \({\mathbf {H}}_1\) . Since the elements of \({{L}}_1^0\)  and \({{L}}^0_2\)  have disjoint supports by construction, we necessarily have that \(p_1=2p_0\) . \({{L}}^1\)  is then merged with itself to yield elements which are in the kernel of another matrix \({\mathbf {H}}_2\)  (see Figure REF ). Since these are sums of elements of \({{L}}^1\)  they are also in the kernel of \({\mathbf {H}}_1\) , so that that the elements of the final list are of weight \(p_2\)  and belong to the code of parity-check
\({\mathbf {H}}= \begin{pmatrix} {\mathbf {H}}_1 \\ {\mathbf {H}}_2 \end{pmatrix}\) . The size of \({\mathbf {H}}_1\)  is chosen such that an element \({\mathbf {x}}\)  of weight \(p_2\)  and \({\mathbf {H}}_1 {\mathbf {x}}^\intercal =0\)  is typically the sum of only two elements of \({{L}}^1\)  (this is the point of the representation technique). [4]} is similar to [3]} with one layer which is added. In this case, we create at the end a list of elements of weight \(p_3\)  which are in the code of parity-check matrix
\({\mathbf {H}}\mathop {=}\limits ^{\triangle }\begin{pmatrix} {\mathbf {H}}_1 \\ {\mathbf {H}}_2 \\ {\mathbf {H}}_3 \end{pmatrix}\) 
