Bij het uitvoeren van een onderzoek werd een $$M \times N$$ matrix $$X$$ opgemaakt die verschillende
waarnemingen voorstelt. Elke rij van deze matrix $$X$$ bevat een afzonderlijke uitvoering van eenzelfde
experiment waarbij elke kolom van de matrix een specifieke binaire (dus 1 of 0) observatiewaarde $$w_{ij}$$
voorstelt.
We wensen een $$M \times M$$ matrix $$D$$ te bepalen waarbij het element $$D_{ij}$$ de Hamming-afstand tussen
de rijen $$i$$ en $$j$$ voorstelt in de matrix $$X$$ (de diagonaal elementen zijn dus alvast 0). De Hamming-afstand
wordt hierbij gedefinieerd als het aantal posities waarin twee rijen een verschillende waarde hebben. Schrijf een functie
$$\verb!hamming()!$$ die dit realiseert.
Een $$M \times N$$ NumPy-matrix gevuld met gehele getallen 1 of 0.
Een $$M \times M$$ NumPy-matrix zoals hierboven gedefinieerd.
X = np.matrix([[1, 0, 0, 0], [1, 1, 1, 1], [0, 1, 0, 1], [1, 1, 1, 1], [0, 1, 0, 0], [1, 1, 0, 1], [1, 1, 1, 1], [1, 0, 0, 1]]) hamming(X) = [[0 3 3 3 2 2 3 1] [3 0 2 0 3 1 0 2] [3 2 0 2 1 1 2 2] [3 0 2 0 3 1 0 2] [2 3 1 3 0 2 3 3] [2 1 1 1 2 0 1 1] [3 0 2 0 3 1 0 2] [1 2 2 2 3 1 2 0]]