Author: Jack S. Baker
Email: research@agnostiq.ai
This repository contains an explicit code demonstration for the Quantum Variational Rewinding (QVR) algorithm as proposed in the article https://arxiv.org/abs/2210.16438.
In this repository, you will find:
-
A Jupyter notebook (
QVR_example.ipynb) employing QVR to detect anomalous behaviour in cryptocurrency time series data (i.e, a local simulation of the cryptocurrency case in the article) and to detect anomalous behaviour in the synthetic univariate data from the article (i.e. the didactic toy example from the paper) -
The pre-processed data sets used in the article in
~/data/
To run the Jupyter Notebook, you will need a new conda environment with all of the dependices.
First, clone or download this repository to your local machine.
Next, if you don't already have conda, navigate to https://conda.io/projects/conda/en/latest/user-guide/install/download.html and install the correct version for your OS for either Miniconda or Anaconda.
In a terminal window, navigate to root directory of this repo (~QuantumVariationaRewinding) and issue
conda env create -f environment.ymlThis will install the QVR environment. Let's activate it
conda activate QVRAfter successfully creating the conda environment, the Covalent server can be started as follows
covalent startIf prompted, migrate the databases
covalent db migrateIf you run into problems starting the Covalent server, please try purging Covalent
covalent purge -Hythis will purge any old files and directories created by Covalent giving you a fresh start. This, however, should be used sparingly as it also purges the Covalent database. Once purged, try covalent start once more.
If you are comfortable using the newly installed environment in your own jupyter notebook extension (VSCode etc.), then you are done and can skip this step. If not, follow the below instructions to launch a standard Jupyter Notebook from the command line.
We first need to make the kernel visible to Jupyter
python -m ipykernel install --user --name=QVRthen launch the notebook
jupyter notebookwhich will open a browser window in the Jupyter explorer. Navigate to the QVR_example.ipynb and click it.
From the top drop-down menu, select kernel > change kernel > QVR. You are now good to go!