|View source on GitHub|
THIS CLASS IS DEPRECATED.
cirq.ConvertToCzAndSingleGates( ignore_failures: bool = False, allow_partial_czs: bool = False ) -> None
IT WILL BE REMOVED IN
Use cirq.optimize_for_target_gateset and cirq.CZTargetGateset instead.
Attempts to convert strange multi-qubit gates into CZ and single qubit gates.
First, checks if the operation has a unitary effect. If so, and the gate is a 1-qubit or 2-qubit gate, then performs circuit synthesis of the operation. Second, attempts to <a href="../cirq/decompose"><code>cirq.decompose</code></a> to the operation. Third, if ignore_failures is set, gives up and returns the gate unchanged. Otherwise raises a TypeError.
||If set, gates that fail to convert are forwarded unchanged. If not set, conversion failures raise a TypeError.|
If set, the decomposition is permitted to use
gates of the form
cirq.Circuit, index: int, op:
cirq.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.