code: def test_update_err_broadcast(self):
      # Test that broadcastable dimensions raise error
      data = np.random.random((10, 10)).astype("float32")
      output_var = shared(name="output", value=data)
  
      # the update_var has type matrix, and the update expression
      # is a broadcasted scalar, and that should be allowed.
      with pytest.raises(TypeError):
          function(
              inputs=[],
              outputs=[],
              updates={
                  output_var: output_var.sum().dimshuffle("x", "x")
              },
          )
  
imports: import numpy
  import pytest
  import pytensor.tensor
  from pytensor.compile import UnusedInputError, get_mode
  from pytensor.compile.function import function, pfunc
  from pytensor.compile.function.pfunc import rebuild_collect_shared
  from pytensor.compile.io import In
  from pytensor.compile.sharedvalue import shared
  from pytensor.configdefaults import config
  from pytensor.graph.utils import MissingInputError
  from pytensor.misc.safe_asarray import _asarray
  from pytensor.tensor.math import sum
  from pytensor.tensor.type import bscalar, bvector, dmatrices, dmatrix, dscalar, dvector, fscalar, fvector, imatrix, iscalar, ivector, ivectors, lscalar, wvector
  from pytensor.utils import PYTHON_INT_BITWIDTH
label_desc: Use image node_id 16 for calling the TestPfunc obj's underlying member method code with example usage: obj.test_update_err_broadcast() without return types