User Guide#

This guide provides an overview and explanation of the Fermioniq Python package, and how you can use it to submit quantum computing jobs to the Fermioniq platform. The content in the tutorials can serve as a starting point for your own Python scripts.

For details on specific modules, classes and functions, see the API reference.

Note

All the tutorials are based on Jupyter Notebooks. You can run all the tutorials yourself in this interactive Google Colab Notebook directly in your browser. You can also download the Colab notebook and run it locally on your machine.

These tutorials cover the different functionalities in the fermioniq package, from your first submission of a quantum circuit to more advanced use cases and settings. They are structured as Jupyter notebooks.

In section Setup we go over how to set up the emulator.

In section Emulating Quantum Circuits we cover the topics:

  • Sending your first quantum circuit to the emulator

  • Configuring the input and output of the emulator

  • Configuring the mode of emulation

  • Configuring the type of backend to use for the emulation (like CPU and GPU)

Section Advanced Emulation includes:

  • Emulating circuits with noise

  • Using the emulator to compute observables

  • Using the emulator to run a VQE algorithm

  • Running trajectory based emulations for circuits with intermediate measurements

In section Job Management we look at how to use the Client() class to:

  • Submit jobs asynchronously to the server

  • Submit multiple jobs at once

Note

All the code examples in the documentation have clickable links that take you to their corresponding page in the API reference. Try clicking on the class or the method call in the code example below to see it in action.

from fermioniq import Client
client = Client()
my_jobs = client.jobs()

In section CUDA-Q x Fermioniq we cover how to use the Fermioniq backend when running circuits with the NVIDIA CUDA-Q platform.