Thanks Ricardo,
Thanks for the reply. Updating to version 5.9, the @ operator in pymc works. Previously I had issues in 5.7.2
This is not what happens.
w1_np.dot(w2_np).shape == (B, M, B, P)
Right, it was a leftover of previous attempts I meant @ here.