class_docstr: A base class for operators that are composed of other operators.
  
  Args:
      operands: (tuple[~.operation.Operator]): a tuple of operators which will be combined.
  
  Keyword Args:
      id (str or None): id for the operator. Default is None.
  
  The child composite operator should define the `_op_symbol` property
  during initialization and define any relevant representations, such as
  :meth:`~.operation.Operator.matrix` and :meth:`~.operation.Operator.decomposition`.
code: def _check_batching(self):
      batch_sizes = {
          op.batch_size for op in self if op.batch_size is not None
      }
      if len(batch_sizes) > 1:
          raise ValueError(
              "Broadcasting was attempted but the broadcasted dimensions "
              f"do not match: {batch_sizes}."
          )
      self._batch_size = batch_sizes.pop() if batch_sizes else None
  
imports: import abc
  from typing import Callable, List
  import copy
  import numpy
  import pennylane
  from pennylane import math
  from pennylane.operation import Operator, convert_to_opmath, _UNSET_BATCH_SIZE
  from pennylane.wires import Wires
label_desc: Use image node_id 4 for calling the CompositeOp obj's underlying member method code with example usage: obj._check_batching() without return types