Why isn't NUTS sampling with tt.dot or pm.math.dot?

No, the output I see is the following:

Auto-assigning NUTS sampler...
Initializing NUTS using jitter+adapt_diag...
Multiprocess sampling (4 chains in 4 jobs)
NUTS: [k, m, delta, sigma]
Sampling 4 chains:   0%|          | 0/4000 [00:00<?, ?draws/s]

And then nothing happens. Can it be because one input is a numpy array? If I change tt.dot with

def det_dot(a, b):
    """
    :param a: (np matrix)
    :param b: (theano vector)
    """
    return (a * b[None, :]).sum(axis=-1)

everything works fine.