cirq.ConvertToCzAndSingleGates¶
-
class
cirq.ConvertToCzAndSingleGates(ignore_failures: bool = False, allow_partial_czs: bool = False)[source]¶ - Attempts to convert strange multi-qubit gates into CZ and single qubitgates.First, checks if the operation has a unitary effect. If so, and the gate isa 1-qubit or 2-qubit gate, then performs circuit synthesis of theoperation.
Second, attempts to
cirq.decomposeto the operation.Third, if ignore_failures is set, gives up and returns the gate unchanged.Otherwise raises a TypeError.-
__init__(ignore_failures: bool = False, allow_partial_czs: bool = False) → None[source]¶ Parameters: - ignore_failures – If set, gates that fail to convert are forwarded unchanged. If not set, conversion failures raise a TypeError.
- allow_partial_czs – If set, the decomposition is permitted to use gates of the form cirq.CZ**t, instead of only cirq.CZ.
Methods
optimization_at(circuit, index, op)Describes how to change operations near the given location. optimize_circuit(circuit)Rewrites the given circuit to make it better. -