Skip to content

Commit 3e38886

Browse files
committed
Version 1.0.0
1 parent 901e6b8 commit 3e38886

File tree

19 files changed

+474
-0
lines changed

19 files changed

+474
-0
lines changed

.github/workflows/gh-pages.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: GitHub Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
deploy:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v3
13+
with:
14+
submodules: true
15+
fetch-depth: 0
16+
17+
- name: Setup Hugo
18+
uses: peaceiris/actions-hugo@v2
19+
with:
20+
hugo-version: 'latest'
21+
extended: true
22+
23+
- name: Build
24+
run: hugo --minify
25+
26+
- name: Deploy
27+
uses: peaceiris/actions-gh-pages@v4
28+
with:
29+
github_token: ${{ secrets.GITHUB_TOKEN }}
30+
publish_dir: ./public
31+
user_name: 'github-actions[bot]'
32+
user_email: 'github-actions[bot]@users.noreply.github.com'

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.hugo_build.lock
2+
public/
3+
node_modules/
4+
resources/

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "themes/hugo-PaperMod"]
2+
path = themes/hugo-PaperMod
3+
url = https://github.com/adityatelange/hugo-PaperMod

archetypes/default.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
date: '{{ .Date }}'
3+
draft: true
4+
title: '{{ replace .File.ContentBaseName "-" " " | title }}'
5+
---

content/_index.en.md

Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
---
2+
date: '2025-11-04T12:00:00+09:00'
3+
draft: false
4+
title: 'RC bootcamp'
5+
toc: true
6+
tocopen: false
7+
UseHugoToc: false
8+
---
9+
10+
{{< picture "/images/banner_light.webp" "/images/banner_dark.webp" >}}
11+
12+
{{< center >}}
13+
[![DOI](https://img.shields.io/badge/doi-10.1063/5.0283386-blue.svg?style=flat&labelColor=whitesmoke&logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAB8AAAAfCAYAAAAfrhY5AAAJsklEQVR42qWXd1DTaRrHf%2BiB2Hdt5zhrAUKz4IKEYu9IGiGFFJJQ0gkJCAKiWFDWBRdFhCQUF3UVdeVcRQEBxUI3yY9iEnQHb3bdW1fPubnyz%2F11M7lvEHfOQee2ZOYzPyDv%2B3yf9%2Fk95YX4fx%2BltfUt08GcFEuPR4U9hDDZ%2FVngIlhb%2FSiI6InkTgLzgDcgfvtnovhH4BzoVlrbwr55QnhCtBW4QHXnFrZbPBaQoBh4%2FSYH2EnpBEtqcDMVzB93wA%2F8AFwa23XFGcc8CkT3mxz%2BfXWtq9T9IQlLIXYEuHojudb%2BCM7Hgdq8ydi%2FAHiBXyY%2BLjwFlAEnS6Jnar%2FvnQVhvdzasad0eKvWZKe8hvDB2ofLZ%2FZEcWsh%2BhyIuyO5Bxs2iZIE4nRv7NWAb0EO8AC%2FWPxjYAWuOEX2MSXZVgPxzmRL3xKz3ScGpx6p6QnOx4mDIFqO0w6Q4fEhO5IzwxlSwyD2FYHzwAW%2BAZ4fEsf74gCumykwNHskLM7taQxLYjjIyy8MUtraGhTWdkfhkFJqtvuVl%2F9l2ZquDfEyrH8B0W06nnpH3JtIyRGpH1iJ6SfxDIHjRXHJmdQjLpfHeN54gnfFx4W9QRnovx%2FN20aXZeTD2J84hn3%2BqoF2Tqr14VqTPUCIcP%2B5%2Fly4qC%2BUL3sYxSvNj1NwsVYPsWdMUfomsdkYm3Tj0nbV0N1wRKwFe1MgKACDIBdMAhPE%2FwicwNWxll8Ag40w%2BFfhibJkGHmutjYeQ8gVlaN%2BjO51nDysa9TwNUFMqaGbKdRJZFfOJSp6mkRKsv0rRIpEVWjAvyFkxNOEpwvcAVPfEe%2Bl8ojeNTx3nXLBcWRrYGxSRjDEk0VlpxYrbe1ZmaQ5xuT0u3r%2B2qe5j0J5uytiZPGsRL2Jm32AldpxPUNJ3jmmsN4x62z1cXrbedXBQf2yvIFCeZrtyicZZG2U2nrrBJzYorI2EXLrvTfCSB43s41PKEvbZDEfQby6L4JTj%2FfIwam%2B4%2BwucBu%2BDgNK05Nle1rSt9HvR%2FKPC4U6LTfvUIaip1mjIa8fPzykii23h2eanT57zQ7fsyYH5QjywwlooAUcAdOh5QumgTHx6aAO7%2FL52eaQNEShrxfhL6albEDmfhGflrsT4tps8gTHNOJbeDeBlt0WJWDHSgxs6cW6lQqyg1FpD5ZVDfhn1HYFF1y4Eiaqa18pQf3zzYMBhcanlBjYfgWNayAf%2FASOgklu8bmgD7hADrk4cRlOL7NSOewEcbqSmaivT33QuFdHXj5sdvjlN5yMDrAECmdgDWG2L8P%2BAKLs9ZLZ7dJda%2BB4Xl84t7QvnKfvpXJv9obz2KgK8dXyqISyV0sXGZ0U47hOA%2FAiigbEMECJxC9aoKp86re5O5prxOlHkcksutSQJzxZRlPZmrOKhsQBF5zEZKybUC0vVjG8PqOnhOq46qyDTDnj5gZBriWCk4DvXrudQnXQmnXblebhAC2cCB6zIbM4PYgGl0elPSgIf3iFEA21aLdHYLHUQuVkpgi02SxFdrG862Y8ymYGMvXDzUmiX8DS5vKZyZlGmsSgQqfLub5RyLNS4zfDiZc9Edzh%2FtCE%2BX8j9k%2FqWB071rcZyMImne1SLkL4GRw4UPHMV3jjwEYpPG5uW5fAEot0aTSJnsGAwHJi2nvF1Y5OIqWziVCQd5NT7t6Q8guOSpgS%2Fa1dSRn8JGGaCD3BPXDyQRG4Bqhu8XrgAp0yy8DMSvvyVXDgJcJTcr1wQ2BvFKf65jqhvmxXUuDpGBlRvV36XvGjQzLi8KAKT2lYOnmxQPGorURSV0NhyTIuIyqOmKTMhQ%2BieEsgOgpc4KBbfDM4B3SIgFljvfHF6cef7qpyLBXAiQcXvg5l3Iunp%2FWv4dH6qFziO%2BL9PbrimQ9RY6MQphEfGUpOmma7KkGzuS8sPUFnCtIYcKCaI9EXo4HlQLgGrBjbiK5EqMj2AKWt9QWcIFMtnVvQVDQV9lXJJqdPVtUQpbh6gCI2Ov1nvZts7yYdsnvRgxiWFOtNJcOMVLn1vgptVi6qrNiFOfEjHCDB3J%2BHDLqUB77YgQGwX%2Fb1eYna3hGKdlqJKIyiE4nSbV8VFgxmxR4b5mVkkeUhMgs5YTi4ja2XZ009xJRHdkfwMi%2BfocaancuO7h%2FMlcLOa0V%2FSw6Dq47CumRQAKhgbOP8t%2BMTjuxjJGhXCY6XpmDDFqWlVYbQ1aDJ5Cptdw4oLbf3Ck%2BdWkVP0LpH7s9XLPXI%2FQX8ws%2Bj2In63IcRvOOo%2BTTjiN%2BlssfRsanW%2B3REVKoavBOAPTXABW4AL7e4NygHdpAKBscmlDh9Jysp4wxbnUNna3L3xBvyE1jyrGIkUHaqQMuxhHElV6oj1picvgL1QEuS5PyZTEaivqh5vUCKJqOuIgPFGESns8kyFk7%2FDxyima3cYxi%2FYOQCj%2F%2B9Ms2Ll%2Bhn4FmKnl7JkGXQGDKDAz9rUGL1TIlBpuJr9Be2JjK6qPzyDg495UxXYF7JY1qKimw9jWjF0iV6DRIqE%2B%2FeWG0J2ofmZTk0mLYVd4GLiFCOoKR0Cg727tWq981InYynvCuKW43aXgEjofVbxIqrm0VL76zlH3gQzWP3R3Bv9oXxclrlO7VVtgBRpSP4hMFWJ8BrUSBCJXC07l40X4jWuvtc42ofNCxtlX2JH6bdeojXgTh5TxOBKEyY5wvBE%2BACh8BtOPNPkApjoxi5h%2B%2FFMQQNpWvZaMH7MKFu5Ax8HoCQdmGkJrtnOiLHwD3uS5y8%2F2xTSDrE%2F4PT1yqtt6vGe8ldMBVMEPd6KwqiYECHDlfbvzphcWP%2BJiZuL5swoWQYlS%2Br7Yu5mNUiGD2retxBi9fl6RDGn4Ti9B1oyYy%2BMP5G87D%2FCpRlvdnuy0PY6RC8BzTA40NXqckQ9TaOUDywkYsudxJzPgyDoAWn%2BB6nEFbaVxxC6UXjJiuDkW9TWq7uRBOJocky9iMfUhGpv%2FdQuVVIuGjYqACbXf8aa%2BPeYNIHZsM7l4s5gAQuUAzRUoT51hnH3EWofXf2vkD5HJJ33vwE%2FaEWp36GHr6GpMaH4AAPuqM5eabH%2FhfG9zcCz4nN6cPinuAw6IHwtvyB%2FdO1toZciBaPh25U0ducR2PI3Zl7mokyLWKkSnEDOg1x5fCsJE9EKhH7HwFNhWMGMS7%2BqxyYsbHHRUDUH4I%2FAheQY7wujJNnFUH4KdCju83riuQeHU9WEqNzjsJFuF%2FdTDAZ%2FK7%2F1WaAU%2BAWymT59pVMT4g2AxcwNa0XEBDdBDpAPvgDIH73R25teeuAF5ime2Ul0OUIiG4GpSAEJeYW9wDTf43wfwHgHLKJoPznkwAAAABJRU5ErkJggg%3D%3D)](http://doi.org/10.1063/5.0283386)
14+
![GitHub License](https://img.shields.io/github/license/rc-bootcamp/rc-bootcamp)
15+
![GitHub Release](https://img.shields.io/github/v/release/rc-bootcamp/rc-bootcamp)
16+
{{< /center >}}
17+
18+
## Overview
19+
**RC bootcamp** is a hands‑on resource for beginners in reservoir computing (RC).
20+
It walks through core concepts and practical methods of RC across a series of chapters.
21+
The content aims to help newcomers get practical skills quickly while also covering current research topics.
22+
The platform supports multiple languages and currently offers English and Japanese editions.
23+
This page presents the English edition.
24+
25+
{{< toc >}}
26+
27+
## Practical exercises with Jupyter Notebooks
28+
Each chapter is provided as a [Jupyter Notebook](https://jupyter.org/).
29+
Exercises require implementing core parts rather than only running example code.
30+
This format promotes conceptual understanding and practical coding skills.
31+
All exercises use a consistent format: fill in missing code to reinforce learning.
32+
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.
33+
34+
```py
35+
def solution(val):
36+
val = ... # TODO Multiply `val` by 6.
37+
return val
38+
```
39+
There are two exercise types: fill only the right-hand side of an expression or implement the full expression.
40+
Validate your implementation using the `test_func` helper.
41+
42+
```py
43+
test_func(solution, "**_**") # Replace ** with the relevant exercise number.
44+
```
45+
46+
If you cannot solve an exercise, use `show_solution` to reveal the answer.
47+
```py
48+
show_solution("**_**") # Replace ** with the relevant exercise number.
49+
```
50+
51+
RC bootcamp supports execution on Google Colaboratory (Colab) and on local machines.
52+
For local use, we recommend [`uv`](https://docs.astral.sh/uv/) and [`VSCode`](https://code.visualstudio.com/).
53+
Some chapters cannot run on Colab; see the [Setup for local environment](#setup-for-local-environment) section below for installation and execution instructions.
54+
55+
## Contents of each chapter
56+
Each chapter has two editions: exercise notebooks with `...` placeholders and solution notebooks with complete implementations.
57+
Use the solution edition to quickly verify results.
58+
Use the exercise edition to deepen understanding by implementing the missing code.
59+
60+
### I. Python / NumPy basics
61+
Chapters 1 and 2 cover the [**Python**](https://www.python.org/) and [**NumPy**](https://numpy.org/) fundamentals needed for RC.
62+
Python is used throughout the bootcamp.
63+
Chapter 1 introduces core programming and computer‑science concepts, including syntax and basic algorithms.
64+
Chapter 2 covers NumPy, the main library for efficient array-based numerical computation in Python, and explains common usage and techniques.
65+
These chapters target readers with limited programming experience.
66+
Skip them if you are already comfortable with Python and NumPy.
67+
68+
| | |Exercise|Solution|
69+
|---|---|:---:|:---:|
70+
| 01 | Python basics | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en/01_python_basics.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en_sol/01_python_basics.ipynb) |
71+
| 02 | NumPy basics | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en/02_numpy_basics.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en_sol/02_numpy_basics.ipynb) |
72+
73+
### II. Basics of RC
74+
Chapters 3–8 cover core concepts and practical methods of RC.
75+
Chapter 3 walks you through implementing an **echo state network (ESN)** to explain RC's basic mechanism.
76+
Chapter 4 explains practical approaches to **hyperparameter tuning** commonly used in RC.
77+
Chapter 5 introduces key concepts and analysis methods from **nonlinear dynamical-systems theory** and uses dynamical analysis to evaluate reservoirs.
78+
Chapter 6 shows how to evaluate reservoir memory by implementing **memory capacity (MC)**.
79+
Chapter 7 presents **information processing capacity (IPC)**, an extension of MC that provides a broader measure of a reservoir’s information-processing ability.
80+
Chapter 8 covers **closed‑loop control**, where the reservoir output is fed back into its input for control tasks.
81+
82+
Note: the latter part of Chapter 7 includes compute‑intensive steps that may run very slowly on CPUs.
83+
In Colab, enable a GPU runtime (Change runtime type) to accelerate execution.
84+
Colab offers limited free GPU time.
85+
86+
| | |Exercise|Solution|
87+
|---|---|:---:|:---:|
88+
| 03 | ESN basics | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en/03_esn_basics.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en_sol/03_esn_basics.ipynb) |
89+
| 04 | ESN fine tuning | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en/04_esn_fine_tuning.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en_sol/04_esn_fine_tuning.ipynb) |
90+
| 05 | ESN dynamics | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en/05_esn_dynamics.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en_sol/05_esn_dynamics.ipynb) |
91+
| 06 | memory capacity | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en/06_memory_capacity.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en_sol/06_memory_capacity.ipynb) |
92+
| 07 | information processing capacity | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en/07_information_processing_capacity.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en_sol/07_information_processing_capacity.ipynb) |
93+
| 08 | closed loop control | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en/08_closed_loop_control.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en_sol/08_closed_loop_control.ipynb) |
94+
95+
### III. More advanced topics
96+
The remaining chapters cover advanced RC research topics in RC.
97+
Chapter 9 explains how to train internal reservoir connections, including ESNs, and implements **innate training** to control high‑dimensional chaotic trajectories.
98+
Chapter 10 implements **bifurcation embedding**, which leverages bifurcation phenomena to learn a teacher system's structure from limited data.
99+
Chapter 11 implements a **state space model (SSM)**, a class of recurrent models noted for long-term memory capabilities.
100+
101+
Note: Chapter 9 does not fully run on Colab.
102+
Please follow [the local execution instructions below](#setup-for-local-environment) and run this chapter locally.
103+
104+
Also note that Chapter 11, like Chapter 7, contains computationally intensive steps that are slow without a GPU.
105+
If you run it on Colab, enable a GPU runtime (change it via "Change runtime type" in the top-right) to speed up execution.
106+
107+
| | |Exercise|Solution|
108+
|---|---|:---:|:---:|
109+
| 09 | internal optimization | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en/09_internal_optimization.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en_sol/09_internal_optimization.ipynb) |
110+
| 10 | bifurcation embedding | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en/10_bifurcation_embedding.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en_sol/10_bifurcation_embedding.ipynb) |
111+
| 11 | state space model | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en/11_state_space_model.ipynb) | [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/rc-bootcamp/rc-bootcamp/blob/en_sol/11_state_space_model.ipynb) |
112+
113+
## Setup for local environment
114+
RC bootcamp can be run locally.
115+
For research or development we recommend setting up a local environment, e.g., using [`uv`](https://docs.astral.sh/uv/) and [`VSCode`](https://code.visualstudio.com/).
116+
Download the zip archive from the links below and follow the included instructions to set up the environment.
117+
- [Download zip archive from GitHub (exercise edition)](https://github.com/rc-bootcamp/rc-bootcamp/archive/refs/heads/en.zip)
118+
- [Download zip archive from GitHub (solution edition)](https://github.com/rc-bootcamp/rc-bootcamp/archive/refs/heads/en_sol.zip)
119+
120+
`README` is also available in the repository: https://github.com/rc-bootcamp/rc-bootcamp/blob/en/README.md
121+
122+
## License
123+
RC bootcamp is released under the [MIT License](https://opensource.org/licenses/MIT).
124+
You are free to use, modify, and redistribute the material.
125+
Please include the copyright notice and this permission notice in all copies or substantial portions of the software.
126+
127+
## Contributing
128+
We welcome contributions from the community to improve RC bootcamp.
129+
130+
### Reporting issues
131+
If you find any issues or have suggestions for improvement, please report them on the [GitHub Issues page](https://github.com/rc-bootcamp/rc-bootcamp/issues).
132+
133+
### Contributing code
134+
If you would like to contribute, please fork the repository, make your changes, and submit a pull request on GitHub.
135+
Before contributing, please read the [developer README](https://github.com/rc-bootcamp/rc-bootcamp/blob/main/README.md) and [contribution guidelines](https://github.com/rc-bootcamp/rc-bootcamp/blob/main/CONTRIBUTING.md) and follow the coding style used in the existing codebase.
136+
Maintainers will review PRs, give feedback, and approve, decline, or request changes.
137+
138+
### Citation
139+
If you use RC bootcamp in your research or publications, please cite the following paper.
140+
141+
```bibtex
142+
@article{inoue2025rcbootcamp,
143+
title = {Reservoir computing bootcamp---from Python/NumPy tutorial for the complete beginners to cutting-edge research topics of reservoir computing},
144+
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},
145+
year = 2025,
146+
month = XX,
147+
journal = {XX},
148+
volume = {XX},
149+
number = {X},
150+
pages = {XXXXXX},
151+
issn = {XXXX-XXXX},
152+
doi = {10.1063/5.0283386}
153+
}
154+
```
155+
156+
## Contact
157+
For questions or feedback about RC bootcamp, please email `k-inoue[at]isi.imi.i.u-tokyo.ac.jp`.

0 commit comments

Comments
 (0)