![]() |
A gate converter for compatibility with Pasqal processors.
cirq_pasqal.pasqal_device.PasqalConverter(
ignore_failures=False
) -> None
Modified version of ConvertToNeutralAtomGates, where a new 'convert' method 'pasqal_convert' takes the 'keep' function as an input.
Args | |
---|---|
ignore_failures
|
If set, gates that fail to convert are forwarded unchanged. If not set, conversion failures raise a TypeError. |
Methods
convert
convert(
op: ops.Operation
) -> List[ops.Operation]
optimization_at
optimization_at(
circuit: 'cirq.Circuit', index: int, op: 'cirq.Operation'
) -> Optional['cirq.PointOptimizationSummary']
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
optimize_circuit(
circuit: 'cirq.Circuit'
)
pasqal_convert
pasqal_convert(
op: cirq.Operation, keep: Callable[[cirq.Operation], bool]
) -> List[cirq.Operation]
__call__
__call__(
circuit: 'cirq.Circuit'
)
Call self as a function.