Installing myQLM

Please read the Atos myQLM End-User Licence Agreement (Atos myQLM EULA) carefully before using myQLM. You are only permitted to use myQLM pursuant to the terms and conditions of this agreement. This agreement is between you and (as an individual or legal entity) and Bull SAS.

By downloading of installing myQLM or otherwise rendering it available for your use, you are agreeing to be bound by the terms of this license. If you do not agree with the terms, do not download, install, copy or otherwise use myQLM. If you have downloaded or installed myQLM and do not agree to the terms, promptly delete myQLM.

Prerequisites

myQLM is installed using the Package Installer for Python (a.k.a. pip - download pip here) or conda. Please check the compatibility matrix displayed bellow to see if your installation is supported.

Compatibility Matrix

OS \ Python (64-bit)

3.8

3.9

3.10

3.11

CPython

Conda

CPython

Conda

CPython

Conda

CPython

Conda

Linux x86_64

Windows x86_64

macOS x86_64 1

macOS Arm64 1

1(1,2)

CPython distribution can be installed from python.org, or using brew.

Install

Install myQLM package

Please install myQLM by typing the following commands in a Windows, MacOS or Linux prompt:

pip install myqlm
conda install -c myqlm myqlm

# For python < 3.11
conda install -c conda-forge dill=0.3.5.1

For CPython, the commands above install all dependency packages needed for myqlm to work, but not under Conda. The Conda environment resolver can take an infinite time to complete, and will likely fail because it does not have all myqlm requirements. Consequently, all dependency packages have not been included in the bz2 files. Instead, it is expected to install them manually before using myqlm. Some of them will need to be installed using pip from from pypi.org because conda-forge does not have all required packages (such as thrift 0.16). Finally, make sure that you keep a clean base environment to avoid packages conflict, and use conda clean –all as needed.

conda install -c conda-forge bitstring qutip cvxpy anytree pydoe svgwrite
pip install thrift==0.16.0 jax[cpu] pyOpenSSL wand
pip install windows-curses

Warning

There are a couple other dependencies that will likely need to be installed using brew on MacOS, please have a look at the page on installing myQLM on MacOS.

myQLM with Jupyter for CPython and Conda

myQLM comes with interactive tutorials (or notebooks). Your environment needs to be configured to use all advanced features provided by myQLM:

  • Install Jupyter: myQLM notebooks are designed to work with jupyter. You can install jupyter by typing the following command:

    pip install jupyter
    
  • Install ImageMagick for wand: myQLM uses wand library to display quantum circuits. Please follow the wand installation guide to install this python library

  • Install Ghostscript for PDF: myQLM can display circuit in PDF format. If Ghostscript is not already installed, please follow the Ghostscript download page to install this program

  • Install myQLM magics: myQLM provides a magic %qatdisplay to display circuit inside a jupyter notebook. These magics can be installed using the following command:

    python -m qat.magics.install
    

myQLM is now configured for jupyter. Please download myQLM notebooks here and start the notebook overview.ipynb, this notebook contains a table of content of all our tutorials.

Interoperability

Warning

Interoperability packages are deprecated for Python versions 3.6 and 3.7

This package enables access to other quantum programming environments such as Qiskit, ProjectQ, PyQuil, Cirq … This package will not automatically install dependency packages because someone who want to interface with Qiskit may not want to interface with Cirq… The desired quantum environment can be cherry-picked using the pip command:

pip install myqlm-interop[qiskit_binder]
pip install myqlm-interop[projectq_binder]
pip install myqlm-interop[cirq_binder]
pip install myqlm-interop[pyquil_binder]

Warning

Dependencies of these frameworks could conflict. Installing myQLM-interop for all these framework can fail

pip install myqlm-interop[all]