deltakit.circuit.Circuit.from_stim_circuit#

classmethod Circuit.from_stim_circuit(stim_circuit: Circuit, qubit_mapping: Mapping[int, Qubit[Coordinate]] | None = None) Circuit#

Parse a Stim circuit into a deltakit_circuit circuit.

Parameters:
  • stim_circuit (stim.Circuit) – The Stim circuit to convert into deltakit_circuit.

  • qubit_mapping (Mapping[int, Qubit[Coordinate]] | None, optional) – An optional qubit mapping can be used to map qubit indices to coordinates. In almost all cases the qubit mapping can be obtained from the Stim circuit so you should leave this as None unless necessary.

Returns:

The equivalent deltakit_circuit circuit.

Return type:

Circuit

Raises:

InstructionNotImplemented – If instruction cannot be parsed.

Examples

>>> import deltakit_stim as stim
>>> import deltakit_circuit as sp
>>> stim_circuit = stim.Circuit('''
... X 0 1 2
... Y 1 2
... CX 0 1
... ''')
>>> sp.Circuit.from_stim_circuit(stim_circuit)
Circuit([
    GateLayer([
        X(Qubit(0))
        X(Qubit(1))
        X(Qubit(2))
    ])
    GateLayer([
        Y(Qubit(1))
        Y(Qubit(2))
    ])
    GateLayer([
        CX(control=Qubit(0), target=Qubit(1))
    ])
], iterations=1)