https://github.com/oreilly-japan/deep-learning-from-scratch-3/blob/master/steps/step59.py#L45の部分は具体的にどういう次元のデータが生成されているのであろうか?数式的には
\begin{align} h_t = \tanh (h_{t-1} W_h + x_t W_x + b) \end{align}
で表される部分である。(正確にはこの $h_t$ は次の全結合層で 1 次元に圧縮される)
print(model.rnn.h.shape, model.rnn.h2h.W.shape, x.shape, model.rnn.x2h.W.shape)
で中身を確認してみると
(1, 100) (100, 100) (1, 1) (1, 100)
が得られる。 $h_{t-1}$ は 1x100 次元, $W_h$ は 100x100 次元, $x_t$ は 1x1 次元, $W_x$ は 1x100 次元であるというわけだ。なるほど。
\begin{align} \R^{1} \longrightarrow \R^{100} \longrightarrow \R^{1} \end{align}
というデータの変換が行われているわけだ。