`lambdify` by default will attempt to import numpy (unless told not to, or it isn't available). If numpy isn't imported, it'll default to some other backend (`math`, `mpmath`, and `sympy`, in that order).  Using `.dot` is only desirable for numpy.