lesson4-mnist_sgd.ipynb talks about broadcasting and gives matrix-matrix product as an example. The video shows how to derive the individual columns.

Here I am just noting that the entire product can be performed as follows:

`m = np.array([[1, 2, 3], [4,5,6], [7,8,9]])`

`n = np.array([[10,40],[20,0],[30,-5]])`

`(m[..., None] * n[None]).sum(axis=1)`