Skip to content

mickahell/quantum_lab

Repository files navigation

Quantum Lab

All Contributors

DOI
Docker Image CI Docker TAG CI GitHub release (latest by date)

Docker Pulls Docker Pulls Docker Pulls Docker Pulls Docker Pulls Docker Pulls Docker Pulls

Prerequisites

  • Linux
    apt-get install docker-ce docker-ce-cli containerd.io

Details

Getting started

  • Build the image, run the following command line :
    docker build --build-arg quantum_env=qiskit-light.sh -t quantum_lab .
    • You can replace qiskit-light.sh with the following one qiskit-full.sh, qml.sh, qsharp.sh, simulaqron.sh, myqlm.sh or cirq.sh
  • To create a new containeur and go inside, run the script : ./start.sh

Environment

  • Libs common for every env : networkx, numpy, matplotlib, notebook, pandas, scipy, tk, vim
  • 6 libs setup are available, one for installating PennyLane, one for using Qiskit, one for using Q#, one for SimulaQron, one for myQLM and one for Cirq.
    • qml.sh
      • Libs : autograd, pennylane, pennylane-sf, pennylane-qiskit
    • qiskit-light.sh
      • Libs : qiskit, qiskit-aer, qiskit[visualization]
    • qiskit-full.sh
      • Libs : qiskit, qiskit-aer, qiskit[visualization], qiskit-nature, qiskit-finance, qiskit-optimization, qiskit-machine-learning
    • qsharp.sh
      • Libs : qsharp, iqsharp
    • simulaqron.sh
      • Libs : simulaqron
    • myqlm.sh
      • Libs : myqlm, libmagickwand-dev, myqlm-interop[qiskit_binder]
    • cirq.sh
      • Libs : cirq, cirq-core[contrib], texlive-latex-base, latexmk

Volume

The folder data/share is link to the host file and allow to register the modification in the host computer

Jupyter

To launch the Jupyter notebook instance :

  • be inside the datafolder
  • run : ./start_jupyter.sh
  • copy and paste this url in your browser : http://127.0.0.1:8888/

Simple docker commands

  • List the existed images : docker images
  • List the existed containeur : docker ps -a
    • The -a is used the see every existed containeurs, that's include the stopped one
  • To start a containeur : docker start [CONTAINEUR_ID]
  • To go inside a started containeur : docker exec -it -u root [CONTAINEUR_ID] /bin/bash
  • Delete containeur : docker rm [CONTAINEUR_ID]
  • Delete stopped container : docker container prune
  • Delete image : docker rmi [NAME_OF_THE_IMAGE]
    • You can use -f to force the suppression and delete the containeurs associated to the image
  • List the existed volume : docker volume ls
  • Delete volume not used anymore : docker volume prune

Cite as

If you use my work, please cite as :

Quantum Lab: Docker image for quantum laboratory, Michaël Rollin, 2021, DOI: 10.5281/zenodo.4664195

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Mica

💻 📖

Alberto Maldonado

👀

This project follows the all-contributors specification. Contributions of any kind welcome!