We're celebrating World Quantum Day 2022! Join us

cirq_google.optimizers.ConvertToSqrtIswapGates

THIS CLASS IS DEPRECATED.

IT WILL BE REMOVED IN cirq v1.0.

Use cirq.optimize_for_target_gateset and cirq.SqrtIswapTargetGateset instead.

Attempts to convert gates into ISWAP**-0.5 gates.

Since we have Z rotations and arbitrary XY rotations, we
can rely on cirq decomposition for one qubit gates and
need to only specify special decompositions for two qubit gates.

Currently natively specified gates are CZPowGate, ISwapPowGate,
and FSimGate.  This will also support gates that decompose into
the above gates.

ignore_failures If set, gates that fail to convert are forwarded unchanged. If not set, conversion failures raise a TypeError.

Methods

convert

View source

optimization_at

View source

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

__call__

Call self as a function.