quri_parts.ionq.circuit.transpile package#

IonQSetTranspiler()#

CircuitTranspiler to transpile a QuantumCircuit into another QuantumCircuit containing only GPi, GPi2, and MS gates. Note that the converted circuit contains IonQ native gates and only the measurement in the computational basis is guaranteed to match between before and after conversion.

class IonQNativeTranspiler(epsilon=1e-06)#

Bases: CircuitTranspilerProtocol

CircuitTranspiler, which converts RX, RY, RZ, XX gates into GPi, GPi2, MS gates.

The conversion process to the native gates is a direct porting of the process of the code in IonQ’s introductory article. Due to the nature of the conversion process, each qubit may acquire an arbitrary extra phase. Therefore, only the measurement in the computational basis is guaranteed to match between before and after conversion.

Ref:

[1]: https://ionq.com/docs/getting-started-with-native-gates

Parameters:

epsilon (float) –

property epsilon: float#
class CNOT2RXRYXXTranspiler(*args, **kwargs)#

Bases: GateKindDecomposer

CircuitTranspiler, which decomposes CNOT gates into sequences of RX, RY, and XX gates.

Ref:
[1]: Dmitri Maslov,

Basic circuit compilation techniques for an ion-trap quantum machine, New J. Phys. 19, 023035 (2017).

[2]: https://ionq.com/docs/getting-started-with-native-gates

property target_gate_names: Sequence[str]#

Returns the set of gate names to be decomposed.

decompose(gate)#

Describe the specific decomposition process. Only the target gates satisfying is_target_gate() method are passed.

Parameters:

gate (QuantumGate) – The gates to be decomposed.

Return type:

Sequence[QuantumGate]

Submodules#