cirq.transform_op_tree

cirq.transform_op_tree(root: Union[cirq.ops.raw_types.Operation, Iterable[Any]], op_transformation: Callable[cirq.ops.raw_types.Operation, Union[cirq.ops.raw_types.Operation, Iterable[Any]]] = <function <lambda>>, iter_transformation: Callable[Iterable[Union[cirq.ops.raw_types.Operation, Iterable[Any]]], Union[cirq.ops.raw_types.Operation, Iterable[Any]]] = <function <lambda>>) → Union[cirq.ops.raw_types.Operation, Iterable[Any]][source]

Maps transformation functions onto the nodes of an OP_TREE.

Parameters:
  • root – The operation or tree of operations to transform.
  • op_transformation – How to transform the operations (i.e. leaves).
  • iter_transformation – How to transform the iterables (i.e. internal nodes).
Returns:

A transformed operation tree.

Raises:

TypeError – root isn’t a valid OP_TREE.