Theme dependent image

Overview

RC bootcamp is a hands‑on resource for beginners in reservoir computing (RC). It walks through core concepts and practical methods of RC across a series of chapters. The content aims to help newcomers get practical skills quickly while also covering current research topics. The platform supports multiple languages and currently offers English and Japanese editions. This page presents the English edition.

Practical exercises with Jupyter Notebooks

Each chapter is provided as a Jupyter Notebook. Exercises require implementing core parts rather than only running example code. This format promotes conceptual understanding and practical coding skills. All exercises use a consistent format: fill in missing code to reinforce learning. For example, a task asking you to implement a function that multiplies its input by six shows the missing code as ..., as in the example below.

def solution(val):
    val = ...  # TODO Multiply `val` by 6.
    return val

There are two exercise types: fill only the right-hand side of an expression or implement the full expression. Validate your implementation using the test_func helper.

test_func(solution, "**_**")  # Replace ** with the relevant exercise number.

If you cannot solve an exercise, use show_solution to reveal the answer.

show_solution("**_**")  # Replace ** with the relevant exercise number.

RC bootcamp supports execution on Google Colaboratory (Colab) and on local machines. For local use, we recommend uv and VSCode. Some chapters cannot run on Colab; see the Setup for local environment section below for installation and execution instructions.

Contents of each chapter

Each chapter has two editions: exercise notebooks with ... placeholders and solution notebooks with complete implementations. Use the solution edition to quickly verify results. Use the exercise edition to deepen understanding by implementing the missing code.

I. Python / NumPy basics

Chapters 1 and 2 cover the Python and NumPy fundamentals needed for RC. Python is used throughout the bootcamp. Chapter 1 introduces core programming and computer‑science concepts, including syntax and basic algorithms. Chapter 2 covers NumPy, the main library for efficient array-based numerical computation in Python, and explains common usage and techniques. These chapters target readers with limited programming experience. Skip them if you are already comfortable with Python and NumPy.

ExerciseSolution
01python basicsOpen In ColabOpen In Colab
02numpy basicsOpen In ColabOpen In Colab

II. Basics of RC

Chapters 3–8 cover core concepts and practical methods of RC. Chapter 3 walks you through implementing an echo state network (ESN) to explain RC’s basic mechanism. Chapter 4 explains practical approaches to hyperparameter tuning commonly used in RC. Chapter 5 introduces key concepts and analysis methods from nonlinear dynamical-systems theory and uses dynamical analysis to evaluate reservoirs. Chapter 6 shows how to evaluate reservoir memory by implementing memory capacity (MC). Chapter 7 presents information processing capacity (IPC), an extension of MC that provides a broader measure of a reservoir’s information-processing ability. Chapter 8 covers closed‑loop control, where the reservoir output is fed back into its input for control tasks.

Note: the latter part of Chapter 7 includes compute‑intensive steps that may run very slowly on CPUs. In Colab, enable a GPU runtime (Change runtime type) to accelerate execution. Colab offers limited free GPU time.

ExerciseSolution
03ESN basicsOpen In ColabOpen In Colab
04ESN fine tuningOpen In ColabOpen In Colab
05ESN dynamicsOpen In ColabOpen In Colab
06memory capacityOpen In ColabOpen In Colab
07information processing capacityOpen In ColabOpen In Colab
08closed loop controlOpen In ColabOpen In Colab

III. More advanced topics

The remaining chapters cover advanced RC research topics in RC. Chapter 9 explains how to train internal reservoir connections, including ESNs, and implements innate training to control high‑dimensional chaotic trajectories. Chapter 10 implements bifurcation embedding, which leverages bifurcation phenomena to learn a teacher system’s structure from limited data. Chapter 11 implements a state space model (SSM), a class of recurrent models noted for long-term memory capabilities.

Note: Chapter 9 does not fully run on Colab. Please follow the local execution instructions below and run this chapter locally.

Also note that Chapter 11, like Chapter 7, contains computationally intensive steps that are slow without a GPU. If you run it on Colab, enable a GPU runtime (change it via “Change runtime type” in the top-right) to speed up execution.

ExerciseSolution
09internal optimizationOpen In ColabOpen In Colab
10bifurcation embeddingOpen In ColabOpen In Colab
11state space modelOpen In ColabOpen In Colab

Setup for local environment

RC bootcamp can be run locally. For research or development we recommend setting up a local environment, e.g., using uv and VSCode. Download the zip archive from the links below and follow the included instructions to set up the environment.

README is also available in the repository: https://github.com/rc-bootcamp/rc_bootcamp/blob/en/README.md

License

RC bootcamp is released under the MIT License. You are free to use, modify, and redistribute the material. Please include the copyright notice and this permission notice in all copies or substantial portions of the software.

Contribution

Contributions to RC bootcamp are welcome!

Reporting issues

If you find any issues or have suggestions for improvement, please report them on the GitHub Issues page.

Contributing code

If you would like to contribute, please fork the repository, make your changes, and submit a pull request on GitHub. Before contributing, please read the developer README and follow the coding style. Maintainers will review PRs, give feedback, and approve, decline, or request changes.

Citation

If you use RC bootcamp in your research or publications, please cite the following paper.

@article{inoue2025rcbootcamp,
  title   = {Reservoir computing bootcamp---from Python/NumPy tutorial for the complete beginners to cutting-edge research topics of reservoir computing},
  author  = {Inoue, Katsuma and Kubota, Tomoyuki and Tran, Quoc Hoan and Akashi, Nozomi and Terajima, Ryo and Kabayama, Tempei and Guan, JingChuan and Nakajima, Kohei},
  year    = 2025,
  month   = XX,
  journal = {XX},
  volume  = {XX},
  number  = {X},
  pages   = {XXXXXX},
  issn    = {XXXX-XXXX},
  doi     = {xxxxxx/xxxxxx}
}

Contact

For questions or feedback about RC bootcamp, please email k-inoue[at]isi.imi.i.u-tokyo.ac.jp.