Schrijf een functie grootste_beeldvector() met als argumenten 2 reƫele matrices $$\mathbf{A}$$ ($$N \times N$$) en $$\mathbf{B}$$ ($$N \times M$$). Noem $$\mathbf{x}_j$$ de $$j$$-de kolomvector van de matrix $$\mathbf{B}$$. Het resultaat van de functie is de kolomvector van $$\mathbf{B}$$ waarvoor $$|| \mathbf{Ax}_j ||$$ maximaal is (waarbij $$|| \mathbf{x} ||$$ voor de vierkantswortel uit de som van de kwadraten van de componenten van de vector $$\mathbf{x}$$ staat, de zogenaamde $$L_2$$-norm):

$$ ||\mathbf{x}|| = \sqrt{ \sum_i \mathbf{x}_i^2} $$

Indien meerdere beeldvectoren een maximale grootte hebben, kies je de kolomvector van $$\mathbf{B}$$ met kleinste kolomindex.

Argumenten

Twee NumPy-tabellen (die matrices voorstellen) met respectieve dimensies $$N \times N$$ en $$N \times M$$, met $$N, M > 0$$.

Resultaat

De kolomvector uit het tweede argument voorgesteld door een NumPy-rij met $$N$$ elementen, die het grootste beeld oplevert.

Voorbeeld

A = np.array([[ 0.,  1.,  2.,  3.], [-10., -17., -19., -15.], [25., 31., 9., 12.], [-7., -9., 12., 3.]]) 
B = np.array([[1., 0., 0.], [0., 1., 0], [0., 0., 1.], [1., 1., 1.]])
grootste_beeldvector(A, B) # [ 0.  1.  0.  1.]