Een matrix $$\verb!A!$$ is rechthoekig, en bevat reƫle getallen. We willen bepalen of 1 of meerdere kolommen kunnen geschreven worden als som van twee andere kolommen. Het resultaat is een matrix met drie kolommen, waarbij per rij 3 kolomnummers staan. Noemen we deze waarden $$i$$, $$j$$ en $$k$$, dan betekent dit dat de $$k$$-de kolom van $$\verb!A!$$ gelijk is aan de som van de $$i$$-de kolom van $$\verb!A!$$ en de $$j$$-de kolom van $$\verb!A!$$. Om te vermijden dat we dubbele oplossingen zouden krijgen, eisen we dat $$i \lt j$$. Tevens moet gelden dat $$k \neq i$$ en $$k \neq j$$ (zodat per rij van het resultaat altijd drie verschillende getallen staan). Programmeer dit in de functie $$\verb!zoek_som()!$$ met als enig argument de matrix $$\verb!A!$$ en als resultaat de gevraagde matrix met 3 kolommen.

Argumenten

Een NumPy-matrix gevuld met gehele getallen.

Resultaat

Een NumPy-matrix met 3 kolommen, met inhoud zoals hierboven gedefineerd. Het aantal rijen van deze matrix hangt af van het gevonden aantal combinaties.

Voorbeeld

A = np.matrix([[  1.,   3.,  13.,  -5.,  -2.,  -5.,   8.,  -9.],
 [ -7.,  17.,   3.,   7.,   9.,   5.,  10.,  13.],
 [ -1., -27.,  -7., -10., -15., -12., -17.,  -5.],
 [ 10.,   4.,   0.,   2., -14.,   6.,   2.,  -1.]])
zoek_som(A) = [[2, 3, 6], [3, 6, 1]]