|View source on GitHub|
THIS CLASS IS DEPRECATED.
cirq.optimizers.MergeInteractionsToSqrtIswap( tolerance: float = 1e-08, *, required_sqrt_iswap_count: Optional[int] = None, use_sqrt_iswap_inv: bool = False, post_clean_up: Callable[[Sequence[ops.Operation]], ops.OP_TREE] = (lambda op_list: op_list) ) -> None
Used in the notebooks
|Used in the tutorials|
IT WILL BE REMOVED IN
Use cirq.optimize_for_target_gateset and cirq.SqrtIswapTargetGateset instead.
Combines series of adjacent one- and two-qubit, non-parametrized gates operating on a pair of qubits and replaces each series with the minimum number of SQRT_ISWAP gates.
See also: ``two_qubit_matrix_to_sqrt_iswap_operations``
||A limit on the amount of absolute error introduced by the construction.|
When specified, each merged group of
two-qubit gates will be decomposed into exactly this many
sqrt-iSWAP gates even if fewer is possible (maximum 3). Circuit
optimization will raise a
If True, optimizes circuits using
||This function is called on each set of optimized operations before they are put into the circuit to replace the old operations.|
cirq.circuits.Circuit, index: int, op:
cirq.ops.Operation) -> Optional[
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))
||The circuit to improve.|
||The index of the moment with the operation to focus on.|
||The operation to focus improvements upon.|
|A description of the optimization to perform, or else None if no change should be made.|
optimize_circuit( circuit: 'cirq.Circuit' )
__call__( circuit: 'cirq.Circuit' )
Call self as a function.