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 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)