This is a repository for ML models for quantum bit error rate (QBER) prediction. Here - only research code and modules, but on real experimental data.
I also have a repo with Apache Thrift pprototype microservices for inference.
There are two signal processing units - Alice and Bob.
Alice and Bob exchange quantum bit sequences and sometimes they make mistakes - optical fiber is not perfect, transmitters are not perfect, they go out of order, etc. Because of that some bits may be flipped and the resulting key is partly incorrect.
Here we introduce QBER a.k.a. Quantum Bit Error Rate:
For procedure of information reconciliation we need to know QBER value before the procedure to make the IR more efficient and fast. Also, there is additional data - time series of the channel intensity:
These two time series are available for all three transmitter states - one primary and two decoy.
Main state
Decoy states
We have a time series of seven variables and we need to forecast target TS value using previous data of target TS, current values of additional TS and previous values of the other TS.
-
Install Pyenv (guide)
-
Install Python, used in project
$ pyenv install 3.10.6
-
Create virtual environment for Python and activate (will be active until you clode the terminal session or use
deactivate):$ cd <path to cloned repo> $ ~/.pyenv/versions/3.10.6/bin/python -m venv qber_env $ source qber_env/bin/activate
In terminal you will now have a prefix:
(qber_env)$ ...
-
Check that
pythonandpiplead toqber_env(qber_env)$ which python <path to repo>/qber_env/bin/python (qber_env)$ which pip <path to repo>/qber_env/bin/pip
-
Install dependencies using requirements.txt
(qber_env)$ pip install --upgrade -r requirements.txt