|View source on GitHub|
Optimizes a circuit for Google devices.
cirq_google.optimizers.optimized_for_sycamore( circuit: cirq.Circuit, *, new_device: Optional['cirq_google.XmonDevice'] = None, qubit_map: Callable[[cirq.Qid], cirq.GridQubit] = (lambda e: cast(cirq.GridQubit, e)), optimizer_type: str = 'sqrt_iswap', tolerance: float = 1e-05, tabulation_resolution: Optional[float] = None ) -> cirq.Circuit
Uses a set of optimizers that will compile to the proper gateset for the device (xmon, sqrt_iswap, or sycamore gates) and then use optimizers to compress the gate depth down as much as is easily algorithmically possible by merging rotations, ejecting Z gates, etc.
||The circuit to optimize.|
||The device the optimized circuit should be targeted at. If set to None, the circuit's current device is used.|
||Transforms the qubits (e.g. so that they are GridQubits).|
||A string defining the optimizations to apply. Possible values are 'xmon', 'xmon_partial_cz', 'sqrt_iswap', 'sycamore'|
||The tolerance passed to the various circuit optimization passes.|
||If provided, compute a gateset tabulation with the specified resolution and use it to approximately compile arbitrary two-qubit gates for which an analytic compilation is not known.|
|The optimized circuit.|