code: def test_useless_unbatched_blockwise():
      x = matrix("x")
      blockwise_op = Blockwise(
          MatrixPinv(hermitian=False), signature="(m,n)->(n,m)"
      )
      out = blockwise_op(x)
  
      assert isinstance(out.owner.op, Blockwise)
      assert isinstance(out.owner.op.core_op, MatrixPinv)
  
      fn = function([x], out, mode="FAST_COMPILE")
      assert isinstance(fn.maker.fgraph.outputs[0].owner.op, MatrixPinv)
  
      # Test that it's not removed when there are batched dims
      x = tensor3("x")
      out = blockwise_op(x)
      fn = function([x], out, mode="FAST_COMPILE")
      assert isinstance(fn.maker.fgraph.outputs[0].owner.op, Blockwise)
      assert isinstance(
          fn.maker.fgraph.outputs[0].owner.op.core_op, MatrixPinv
      )
  
file_path: pytensor/tests/tensor/rewriting/test_blockwise.py
imports: from functools import partial
  from pytensor import function
  from pytensor.graph import FunctionGraph, rewrite_graph
  from pytensor.graph.basic import equal_computations
  from pytensor.scalar import log
  from pytensor.tensor import add, alloc, matrix, tensor, tensor3
  from pytensor.tensor.blockwise import Blockwise
  from pytensor.tensor.elemwise import Elemwise
  from pytensor.tensor.nlinalg import MatrixPinv
  from pytensor.tensor.rewriting.blockwise import local_useless_blockwise
label_desc: Use image node_id 2 for calling a global function with example usage: test_useless_unbatched_blockwise() without return types