This application demonstrates a simple, reusable Python web application based on the Flask microframework.
The goal of this project consist to show a different approach to quantum computing resources.
We want add to the [composer][], [jupyter notebook][] a [web app][] that make use of some algorithm in order to realize a visual and interactive application.
[composer]:https://quantumexperience.ng.bluemix.net/qx/editor
[jupyter notebook]:https://nbviewer.jupyter.org/github/Qiskit/qiskit-tutorial/blob/master/index.ipynb#1.3-Qiskit-Aer
[web app]: https://first-appq-ibmitaly.mybluemix.net/
For this app we chose two different algorithms
-
Generalized quantum emoticons
The base of this algorithm is well described in the qiskit-tutorial quantum emoticons. In this app we generalized it extending the functionality to each couples of emoticons. The goal of this app is to show that is possible to write the information of 32 classical bits in just 16 qubit. -
Quantum state tomography
This algorithm it's defined inside the ibm quantum experience User guide, it consist to perform measurement of the quantum state on all the three basis (x,y,z) in order to reconstruct the qunatum state on the block-sphere. In order to make this algorithm fully visual we utilized the python library qutip that allows to perform analytical calculation and build the block sphere.
We decided to offer two different prospectives giving two bloch-spheres, one to show the QST performance and another one to show the analytical calculation, in order to give evidence of the errors coming from dechoerence/noise generated from the real device or from the configured noise-simulator.
- Install Python
- cd into this project's root directory
- Run
$pip install -r requirements.txt
to install the app's dependencies - Type
$python welcome.py
from your prompt to run the app - Access the running app in a browser at http://localhost:5000
- cd into the project's root directory
- create the conda-env
$conda env create -f environment.yml
- Type
$python welcome.py
from your prompt to run the app - Access the running app in a browser at http://localhost:5000
- Download this repository
- Connect and log in to IBM Cloud
- Redeploy your app to IBM Cloud by using the
bluemix app push
Remember to check if the python version needed for your app is present in the
default buildpack.
If it doesn't let's try to use an external one https://docs.cloudfoundry.org/buildpacks/python/index.html
using the syntax:
bluemix app push <yourapp> -b https://github.com/cloudfoundry/python-buildpack.git