This repository provides a framework for predicting chaotic dynamics and extreme events with Quantum Reservoir Computing (QRC) and introduces Recurrence-free Quantum reservoir computing (RF-QRC) [1]. It include tools for trainining, predicting and comparing Qiskit-based QRC implementation with classical reservoir computers.
-
src/Notebook.ipynbContains the main workflow to train and predict with quantum reservoir computers. Input data can be modified to extend the framework to other systems such as Lorenz96 or MFE for which the solvers are already added. -
src/QRC/qrc.pyImplements the Qiskit-based quantum reservoir and the methods required to train it in the open-loop and predict in closed-loop using quantum circuit simulations. -
src/QRC/crc.pyImplements the classical reservoir computing or Echo State Network (ESN). -
src/QRC/solvers.pyClassical solvers to generate the training / true data. -
src/QRC/systems.pyImplements chaotic systems including Lorenz63 , Lorenz96 and MFE model. -
src/QRC/validation.pyHyperparameter tuning (validation) using recycle validation to tune classical reservoir hyperparamters. RF-QRC does not require extensive hyperparamter tuning so the parameter can be directly varied in the notebook.
To get started: First, install the required dependencies:
pip install -r requirements.txtThen run the following notebook
python Notebook.ipynbOr alternatively,
python Notebook_MFE.ipynbIf you use this code in your research, please cite the corresponding paper:
Prediction of chaotic dynamics and extreme events: A recurrence-free quantum reservoir computing approach (https://journals.aps.org/prresearch/abstract/10.1103/PhysRevResearch.6.043082)