code: def test_kron_dot():
      np.random.seed(1)
      # Create random matrices
      Ks = [np.random.rand(3, 3) for i in range(3)]
      # Create random vector with correct shape
      tot_size = np.prod([k.shape[1] for k in Ks])
      x = np.random.rand(tot_size).reshape((tot_size, 1))
      # Construct entire kronecker product then multiply
      big = kronecker(*Ks)
      slow_ans = pt.dot(big, x)
      # Use tricks to avoid construction of entire kronecker product
      fast_ans = kron_dot(Ks, x)
      np.testing.assert_array_almost_equal(
          slow_ans.eval(), fast_ans.eval()
      )
  
imports: import warnings
  import numpy
  import numpy.testing
  import pytensor
  import pytensor.tensor
  import pytest
  from pymc.math import LogDet, cartesian, expand_packed_triangular, invprobit, kron_dot, kron_solve_lower, kronecker, log1mexp, log1mexp_numpy, logdet, logdiffexp, logdiffexp_numpy, probit
  from pymc.pytensorf import floatX
  from tests.helpers import verify_grad
label_desc: Use image node_id 4 for calling a global function with example usage: test_kron_dot() without return types