Staring into the soul of a Quantum program

Photo by ProductionPerig on Dreamstime.com

Quantum development tools

How can we visualize quantum programs?

Quantum teleportation circuit with 3 qubits (one on each line).
Solution for Q# contest question.

Our solution

An overview of my internship project

Example usage of the `%trace` command.

Implementing the %trace command

  1. IQ# kernel receives the %trace command, together with the name of the Q# operation to be visualized.
  2. The Q# operation is passed through a Quantum Simulator.
  3. We attach an ExecutionPathTracer listener onto the Quantum Simulator which keeps track of all operations picked up by the simulator in the program’s execution.
  4. Once the simulation is complete, we retrieve the list of traced-out operations from the ExecutionPathTracer and send it to the Jupyter notebook client as a JSON object.
  5. The client renders the JSON as an HTML string using the circuit visualizer I created.
  6. Finally, the resulting HTML string is displayed in Jupyter notebook.
A quantum circuit with zoomed-in operations.

My internship experience at Microsoft Quantum

My Quantum care package

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store