『スタンフォード ベクトル・行列からはじめる最適化数学』9章章末問題の解答

[スタンフォード ベクトル・行列からはじめる最適化数学](https://amzn.to/3LbI555)
<a href="https://www.amazon.co.jp/%E3%82%B9%E3%82%BF%E3%83%B3%E3%83%95%E3%82%A9%E3%83%BC%E3%83%89-%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E3%83%BB%E8%A1%8C%E5%88%97%E3%81%8B%E3%82%89%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E6%9C%80%E9%81%A9%E5%8C%96%E6%95%B0%E5%AD%A6-KS%E6%83%85%E5%A0%B1%E7%A7%91%E5%AD%A6%E5%B0%82%E9%96%80%E6%9B%B8-%E3%82%B9%E3%83%86%E3%83%95%E3%82%A1%E3%83%B3%E3%83%BB%E3%83%9C%E3%82%A4%E3%83%89/dp/4065161967?&linkCode=li2&tag=aokikenichi-22&linkId=ac095d386d0cfe3a604a7fe59e4dfefe&language=ja_JP&ref_=as_li_ss_il" target="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=4065161967&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=aokikenichi-22&language=ja_JP" ></a><img src="https://ir-jp.amazon-adsystem.com/e/ir?t=aokikenichi-22&language=ja_JP&l=li2&o=9&a=4065161967" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />

の演習問題を解いているが解答が本書内にもネット上にもない模様。自分の解答を晒して間違いにツッコミをいただき理解を深めようという試み。

-　問9.1
```math 
\begin{align}
\begin{bmatrix}
0.9 & 0    & 0.05 \\
0.1 & 0.95 & 0 \\
0   & 0.05 & 0.92 \\
\end{bmatrix}
\begin{bmatrix}
x_{t_1} \\
x_{t_2} \\
x_{t_3} \\
\end{bmatrix}
&=
\begin{bmatrix}
x_{(t+1)_1} \\
x_{(t+1)_2} \\
x_{(t+1)_3} \\
\end{bmatrix} \\
x_{(t+1)_1}&=0.9x_{t_1}\quad\quad\quad+0.05x_{t_3} \\
x_{(t+1)_2}&=0.1x_{t_1}+0.95x_{t_2} \\
x_{(t+1)_3}&=\quad\quad\quad0.05x_{t_2}+0.95x_{t_3} \\
\end{align}
```
- 問9.2
    - (a) セクター３のt期がセクター２のt+1期の産出量に及ぼす影響の度合い。
    - (b) 

```python
import numpy as np
import matplotlib.pyplot as plt

a = np.array([0.6, 0.9, 1.3, 0.5])
B = np.array([[0.1, 0.06, 0.05, 0.70], [0.48, 0.44, 0.1, 0.04], [0.0, 0.55, 0.52, 0.04], [0.04, 0.01, 0.42, 0.51]])

sum_a = []
sum_a.append(sum(a))
for i in range(1, 20):
  a = B @ a
  sum_a.append(sum(a))

plt.figure(figsize=(12, 6))
plt.plot(list(range(1, 21)), sum_a)

plt.xlabel('time')
plt.ylabel('sum_a')
plt.show()
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/116049/464dc217-ef5a-5869-dd26-9bf49ed2ea8c.png)

- 問9.3

```math
\begin{align}
(I-A)z&=c \\
z&=(I-A)^{-1}c \\
また、\\
Fz&=g \\
z&=F^{-1}g \\
より、\\
F&=I-A\\
g&=c
\end{align}
```
- 問9.4

```math
\begin{align}
x_{t+1}&=A_1x_t+A_2x_{t-1} \\
z_t&=
\begin{bmatrix}
x_t \\
x_{t-1} \\
\end{bmatrix}\\
z_{t+1}&=
\begin{bmatrix}
x_{t+1} \\
x_t \\
\end{bmatrix}\\
&=
\begin{bmatrix}
A_1 & A_2 \\
1   & 0 \\
\end{bmatrix}
\begin{bmatrix}
x_t \\
x_{t-1} \\
\end{bmatrix}\\
よって、B&=
\begin{bmatrix}
A_1 & 0 \\
0   & A_2 \\
\end{bmatrix}となるBを考えれば\\
z_{t+1}&=Bz_tとなる。
\end{align}
```

- 問9.5
```math 
\begin{align}
問9.4より、\\
x_{t+1}&=A_1x_t+A_2x_{t-1}\\
z_t&=(x_t, x_{t-1}) \\
\iff z_{t+1}&=Bz_t\\
y_{t+1}&=y_t+y_{t-1} \\
x_t&=(y_t, y_{t-1}) \\
x_{t+1}&=Bx_t \\
B&=\begin{bmatrix}
1 & 1 \\
1 & 0 \\
\end{bmatrix}
\end{align}
```

```python
import numpy as np

x = np.array([0, 1])
B = np.array([[1, 1], [1, 0]])
print(x[0])
for i in range(20):
  x = B @ x
  print(x[0])
```

```
0
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
```
- 修正フィボナッチ数列
```math
\begin{bmatrix}
z_t \\
z_{t-1} \\
\end{bmatrix}
=
\begin{bmatrix}
1 & -1 \\
1 & 0 \\
\end{bmatrix}
\begin{bmatrix}
z_{t-1} \\
z_{t-2} \\
\end{bmatrix}
```

```python
import numpy as np

z = np.array([0, 1])
B = np.array([[1, -1], [1, 0]])
print(z[0])
for i in range(20):
  z = B @ z
  print(z[0])
```

```
0
-1
-1
0
1
1
0
-1
-1
0
1
1
0
-1
-1
0
1
1
0
-1
-1
```

- 問9.6

```math
\begin{align}
x_t&=\frac{u_1+u_2+\cdots+u_{t-1}}{t-1} \\
x_{t+1}&=\frac{u_1+u_2+\cdots+u_{t-1}+u_t}{t} \\
&=\frac{t-1}{t}\left(\frac{u_1+u_2+\cdots+u_{t-1}}{t-1}+\frac{u_t}{t-1}\right) \\
&=\frac{t-1}{t}\left(x_t+\frac{u_t}*{t-1}\right) \\
&=\frac{t-1}{t}x_t+\frac{u_t}{t}

\end{align}
```

- 問9.7

```math 
X_{t+1}=AX_t+Bu_t \\
t １単位につき、計算量は\\
(n+(n-1))\times n \\
(m+(m-1))\times m \\
(2n-1)n+(2m-1)m \\
が10^5回あるから\\
{(2\times15-1)\times 15+(2\times 5 - 0.5)}\times10^5 \\
4.85\times10^7 \\
\frac{4.85\times10^7}{10^9}=4.85\times10^{-2}s
```
----
- [『スタンフォード ベクトル・行列からはじめる最適化数学』8章章末問題の解答](https://qiita.com/aokikenichi/items/6e5754a0468486551706)
- [『スタンフォード ベクトル・行列からはじめる最適化数学』10章章末問題の解答(1/2)](https://qiita.com/aokikenichi/items/5ba58b5b91a5df787b2a)