In this section of week 1 we see a dense function written out as follows:

```
def dense(a_in, W, b):
units = W.shape[1]
a_out = np.zeros(units)
for j in range(units):
w = W[:,j]
z = np.dot(w,a_in) + b[j]
a_out[j] = g(z)
return a_out
```

In this particular example W is a 2,3 matrix and a_in is a 1d array of length 2. Therefore, the dot product works. However, I had understood from previous examples, that the input activation vector need not be any particular length. But if the length of the activation vector does not match the number of rows in W, then we canâ€™t perform the dot product in the function defined above. IE this function wont work if we have an input activation vector of length 5.

I must have a misunderstanding either of matrix operations or of activation vectors. What am I missing?