If you use lambdify instead of evalf, you will not have to do float conversions. And these matrix can be computed in a lumped fashion with numpy, at much greater speeds.