Is there any function I can call to visualize a stim circuit?
There's not an "official" viewer, but there's a few different things you can do. They're all a bit janky.
You can combine the
cirq_web packages to get a 3d visualization. This works much better if you're providing coordinate metadata for the qubits:
import stim import stimcirq import cirq_web stim_circuit = stim.Circuit(""" QUBIT_COORDS(0, 0) 0 QUBIT_COORDS(0, 1) 1 QUBIT_COORDS(1, 0) 2 QUBIT_COORDS(1, 1) 3 R 0 1 2 3 H 0 2 CNOT 0 1 CNOT 2 3 M 0 1 2 3 """) cirq_circuit = stimcirq.stim_circuit_to_cirq_circuit(stim_circuit) cirq_web.Circuit3D(cirq_circuit).generate_html_file( file_name="stim_circuit_viewer.html", open_in_browser=True, )
The 3d view can be a bit cumbersome. The perspective makes it hard to see the exact locations of operations. But it gives you a good overview of the general shape of the circuit.
In my own projects I've also written viewers that turn the circuit into a series of timeslice svg images. These tend to be specific to my needs, so it'll do things like not show noise and won't work for all operations. But maybe it's good enough for your needs:
You can use stimcirq to convert your Stim circuit into a Cirq circuit then visualize it:
import stim import stimcirq cirq_circuit = stimcirq.stim_circuit_to_cirq_circuit(stim_circuit) print(cirq_circuit)