the interval $\left[-1 ,1 \right]$. The state of the reservoir, representing the activations of its constituent neurons, is a vector $r(t) \in \Re^{D}$. The typical reservoir size used in this study is $D=5000$ (but we have experimented with $D$ as large as $20000$, as discussed later). The other two components of the RC-ESN are an input-to-reservoir layer with weight matrix $\mathbf{W_{in}}$, and a reservoir-to-output layer with weight matrix $\mathbf{W_{out}}$. The inputs for training are $N$ sequential samples of $X(t) \in \Re^{8}$. At the beginning of the training phase, $\mathbf{A}$ and $\mathbf{W_{in}}$ are chosen randomly and are fixed; i.e., they do not change during training or testing. During training, only the weights of the output-to-reservoir layer ($\mathbf{W_{out}}$) are updated.

$\mathbf{W_{out}}$ is the only trainable matrix in this network. This architecture yields a simple training process that has two key advantages:

-   It does not suffer from the vanishing and the exploding gradient problem, which has been a major difficulty in training RNNs, especially before the advent of LSTMs [@pascanu2013difficulty],

-   $\mathbf{W_{out}}$ can be computed in one shot (see below), thus this algorithm is orders of magnitude faster than the backpropagation through time (BPTT) algorithm [@goodfellow2016deep], which is used for training general 