Schrijf een functie $$\verb!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-matrices met respectieve dimensies $$N \times N$$ en $$N \times M$$, met $$N, M > 0$$.

Resultaat

De kolomvector uit het tweede argument (dus een NumPy-matrix met $$N$$ rijen en 1 kolom), die het grootste beeld oplevert.

Voorbeeld

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