![]() |
THIS CLASS IS DEPRECATED.
Inherits From: PointOptimizer
cirq.optimizers.merge_interactions.MergeInteractionsAbc(
tolerance: float = 1e-08,
post_clean_up: Callable[[Sequence[ops.Operation]], ops.OP_TREE] = (lambda op_list: op_list)
) -> None
IT WILL BE REMOVED IN cirq v1.0
.
Use cirq.optimize_for_target_gateset and cirq.CompilationTargetGateset instead.
Combines series of adjacent one- and two-qubit, non-parametrized gates operating on a pair of qubits.
Args | |
---|---|
tolerance
|
A limit on the amount of absolute error introduced by the construction. |
post_clean_up
|
This function is called on each set of optimized operations before they are put into the circuit to replace the old operations. |
Methods
optimization_at
optimization_at(
circuit: cirq.circuits.Circuit
,
index: int,
op: cirq.ops.Operation
) -> Optional[cirq.circuits.PointOptimizationSummary
]
Describes how to change operations near the given location.
For example, this method could realize that the given operation is an X gate and that in the very next moment there is a Z gate. It would indicate that they should be combined into a Y gate by returning PointOptimizationSummary(clear_span=2, clear_qubits=op.qubits, new_operations=cirq.Y(op.qubits[0]))
Args | |
---|---|
circuit
|
The circuit to improve. |
index
|
The index of the moment with the operation to focus on. |
op
|
The operation to focus improvements upon. |
Returns | |
---|---|
A description of the optimization to perform, or else None if no change should be made. |
optimize_circuit
optimize_circuit(
circuit: 'cirq.Circuit'
)
__call__
__call__(
circuit: 'cirq.Circuit'
)
Call self as a function.