Een matrix $$\mathbf{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 $$\mathbf{A}$$ gelijk is aan de som van de
$$i$$-de kolom van $$\mathbf{A}$$ en de $$j$$-de kolom van $$\mathbf{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 zoek_som()
met als enig argument de matrix $$\mathbf{A}$$ (voorgesteld
door een 2-dimensionale NumPy-tabel) en als resultaat de gevraagde matrix met 3 kolommen (opnieuw voorgesteld een 2-dimensionale NumPy-tabel).
Een NumPy-tabel gevuld met reële getallen.
Een NumPy-matrix met 3 kolommen, met inhoud zoals hierboven gedefineerd. Het aantal rijen van deze matrix hangt af van het gevonden aantal combinaties.
A = np.array([[ 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]]