# 基底轉換

This work by Jephian Lin is licensed under a [Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/).
{%hackmd 5xqeIJ7VRCGBfLtfMi0_IQ %}
```python
from lingeo import random_good_matrix
```
## Main idea
Let $V$ be a vector space.
Let $\alpha = \{{\bf v}_1, \ldots, {\bf v}_n\}$ and $\beta = \{{\bf u}_1, \ldots, {\bf u}_n\}$ be two bases of $V$.
Each vector ${\bf b}$ can have different representations $[{\bf b}]_\alpha$ and $[{\bf b}]_\beta$ depending on the bases used.
Let $[\operatorname{id}]_\alpha^\beta$ be the $n \times n$ matrix
$$\begin{bmatrix}
| & ~ & | \\
[{\bf v}_1]_\beta & \cdots & [{\bf v}_n]_\beta \\
| & ~ & | \\
\end{bmatrix}.
$$
Then $[\operatorname{id}]_\alpha^\beta [{\bf b}]_\alpha = [{\bf b}]_\beta$ for any ${\bf b}\in V$.
Therefore, we call $[\operatorname{id}]_\alpha^\beta$ the **change of basis matrix** from $\alpha$ to $\beta$.
(The notation $[\operatorname{id}]_\alpha^\beta$ means it is an identity map from $V$ to $V$ but we are observing the domain and the codomain from the points of view of $\alpha$ and $\beta$.
This notation will be more clear when we introduce the matrix representation of a linear function.)
The change of basis matrix $[\operatorname{id}]_\alpha^\beta$ can be viewed as a function taking the representation in $\alpha$ and output the representation in $\beta$.
Therefore, if we have another basis $\gamma$, then we have
- $[\operatorname{id}]_\alpha^\alpha = I_n$,
- $[\operatorname{id}]_\beta^\gamma[\operatorname{id}]_\alpha^\beta = [\operatorname{id}]_\alpha^\gamma$,
- $[\operatorname{id}]_\beta^\alpha[\operatorname{id}]_\alpha^\beta = I_n$.
Note that a matrix takes its input vector from the right, so we should read a product of matrices from right to left.
## Side stories
- inverse of a change of basis matrix
## Experiments
##### Exercise 1
執行以下程式碼。
**[注意:程式碼有更新]**
```python
### code
### code
set_random_seed(0)
print_ans = False
A = random_good_matrix(3,3,3, bound=3)
B = random_good_matrix(3,3,3, bound=3)
e1,e2,e3 = identity_matrix(3).transpose()
u1,u2,u3 = A.transpose()
v1,v2,v3 = B.transpose()
print("alpha has three vectors:")
print("e1 =", e1)
print("e2 =", e2)
print("e3 =", e3)
print("beta has three vectors:")
print("u1 =", u1)
print("u2 =", u2)
print("u3 =", u3)
print("gamma has three vectors:")
print("v1 =", v1)
print("v2 =", v2)
print("v3 =", v3)
if print_ans:
print("[id]_alpha^beta =")
show(A.inverse())
print("[id]_beta^alpha =")
show(A)
print("[id]_beta^gamma =")
show(B.inverse() * A)
print("[id]_alpha^gamma =")
show(B.inverse())
```
:::warning
- [x] 用 `\left\{ ... \right\}` 來把大括號變高
:::
藉由 `seed = 0` 得到三個 $\mathbb R^3$ 中的基底:
$$\alpha = \left\{\left(
\begin{array}{c}
1 \\
0 \\
0 \\
\end{array}
\right),
\left(
\begin{array}{c}
0 \\
1 \\
0 \\
\end{array}
\right),
\left(
\begin{array}{c}
0 \\
0 \\
1 \\
\end{array}
\right)\right\}$$
$$\beta = \left\{\left(
\begin{array}{c}
1 \\
-3 \\
0 \\
\end{array}
\right),
\left(
\begin{array}{c}
3 \\
-8 \\
-1 \\
\end{array}
\right),
\left(
\begin{array}{c}
1 \\
-1 \\
-1 \\
\end{array}
\right)\right\}
$$
$$\gamma = \left\{\left(
\begin{array}{c}
1 \\
-3 \\
-2 \\
\end{array}
\right),
\left(
\begin{array}{c}
1 \\
-2 \\
-2 \\
\end{array}
\right),
\left(
\begin{array}{c}
2 \\
-5 \\
-3 \\
\end{array}
\right)\right\}
$$
##### Exercise 1(a)
計算 $[\operatorname{id}]_\alpha^\beta$ 及 $[\operatorname{id}]_\beta^\alpha$﹐
並確認 $[\operatorname{id}]_\beta^\alpha [\operatorname{id}]_\alpha^\beta = I_3$。
:::warning
- [x] 我能接受 $[\operatorname{id}]_\beta^\alpha$ 不用算式;但 $[\operatorname{id}]_\alpha^\beta$ 要說明怎麼得到的
:::
$Ans:$
$$[\operatorname{id}]_\beta^\alpha =\left(
\begin{array}{ccc}
1 & 3 & 1 \\
-3 & -8 & -1 \\
0 & -1 & -1 \\
\end{array}
\right).
$$
假設 $\beta$ 中的向量依序為 $\bu_1,\bu_2,\bu_3$,那麼 $(1 , 0 , 0)$ 這個以 $\alpha$ 表示法表示出來的向量可以表示成 $c_1\bu_1 + c_2\bu_2 + c_3\bu_3$,其中 $c_1,c_2,c_3 \in \mathbb R$。
則 $c_1,c_2,c_3$ 就是我們要求的 $[\operatorname{id}]_\alpha^\beta$ 的第一行。同理我們可以代
$(0 , 1 , 0),(0 , 0 , 1)$ 進去求出第二及第三行。
得到
$$[\operatorname{id}]_\alpha^\beta =\left(
\begin{array}{ccc}
7 & 2 & 5 \\
-3 & -1 & -2 \\
3 & 1 & 1 \\
\end{array}
\right)
.$$
而
$$[\operatorname{id}]_\alpha^\beta [\operatorname{id}]_\beta^\alpha = \left(
\begin{array}{ccc}
7 & 2 & 5 \\
-3 & -1 & -2 \\
3 & 1 & 1 \\
\end{array}
\right) \left(
\begin{array}{ccc}
1 & 3 & 1 \\
-3 & -8 & -1 \\
0 & -1 & -1 \\
\end{array}
\right) =\left(
\begin{array}{ccc}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1 \\
\end{array}
\right) = I_3.
$$
##### Exercise 1(b)
計算 $[\operatorname{id}]_\beta^\gamma$ 及 $[\operatorname{id}]_\alpha^\gamma$,
並確認 $[\operatorname{id}]_\beta^\gamma [\operatorname{id}]_\alpha^\beta = [\operatorname{id}]_\alpha^\gamma$。
:::warning
- [x] 說明這些數字是怎麼得到的
:::
$Ans:$
同樣的,我們可以用上面的敘述算出 $[\operatorname{id}]_\beta^\gamma$ 以及 $[\operatorname{id}]_\alpha^\gamma$ 的行,得到
$$[\operatorname{id}]_\beta^\gamma = \left(
\begin{array}{ccc}
-1 & -3 & -2 \\
-2 & -4 & 1 \\
2 & 5 & 1 \\
\end{array}
\right),[\operatorname{id}]_\alpha^\gamma = \left(
\begin{array}{ccc}
-4 & -1 & -1 \\
1 & 1 & -1 \\
2 & 0 & 1 \\
\end{array}
\right).$$
而
$$[\operatorname{id}]_\beta^\gamma
[\operatorname{id}]_\alpha^\beta = \left(
\begin{array}{ccc}
-1 & -3 & -2 \\
-2 & -4 & 1 \\
2 & 5 & 1 \\
\end{array}
\right) \left(
\begin{array}{ccc}
7 & 2 & 5 \\
-3 & -1 & -2 \\
3 & 1 & 1 \\
\end{array}
\right) = \left(
\begin{array}{ccc}
-4 & -1 & -1 \\
1 & 1 & -1 \\
2 & 0 & 1 \\
\end{array}
\right) = [\operatorname{id}]_\alpha^\gamma.
$$
## Exercises
##### Exercise 2
對於以下的各向量空間 $V$、
以及兩個基底 $\alpha$ 和 $\beta$﹐
求出 $[\operatorname{id}]_\alpha^\beta$ 和 $[\operatorname{id}]_\beta^\alpha$。
##### Exercise 2(a)
令 $V = \mathbb{R}^3$、
$\alpha = \{{\bf e}_1, {\bf e}_2, {\bf e}_3\}$ 為標準基底、
$$\beta = \left\{\begin{aligned}
{\bf u}_1 = (0,0,1), \\
{\bf u}_2 = (0,1,1), \\
{\bf u}_3 = (1,1,1)
\end{aligned}\right\}.
$$
:::warning
- [x] 說明原因
:::
$Ans:$
$$[\operatorname{id}]_\beta^\alpha =\left(
\begin{array}{ccc}
0 & 0 & 1 \\
0 & 1 & 1 \\
1 & 1 & 1 \\
\end{array}
\right).$$
假設 $\beta$ 中的向量依序為 $\bu_1,\bu_2,\bu_3$,那麼 $(1 , 0 , 0)$ 這個以 $\alpha$ 表示法表示出來的向量可以表示成 $c_1\bu_1 + c_2\bu_2 + c_3\bu_3$,其中 $c_1,c_2,c_3 \in \mathbb R$。
則 $c_1,c_2,c_3$ 就是我們要求的 $[\operatorname{id}]_\alpha^\beta$ 的第一行。同理我們可以代
$(0 , 1 , 0),(0 , 0 , 1)$ 進去求出第二及第三行。
得到
$$[\operatorname{id}]_\alpha^\beta =\left[
\begin{array}{ccc}
0 & -1 & 1 \\
-1 & 1 & 0 \\
1 & 0 & 0 \\
\end{array}
\right].
$$
##### Exercise 2(b)
令 $V = \mathbb{R}^3$、
$\alpha = \{{\bf e}_1, {\bf e}_2, {\bf e}_3\}$ 為標準基底、
$$\beta = \left\{\begin{aligned}
{\bf u}_1 = (\frac{1}{\sqrt{3}}, \frac{1}{\sqrt{3}}, \frac{1}{\sqrt{3}}), \\
{\bf u}_2 = (\frac{1}{\sqrt{2}},-\frac{1}{\sqrt{2}},0), \\
{\bf u}_3 = (\frac{1}{\sqrt{6}},\frac{1}{\sqrt{6}},-\frac{2}{\sqrt{6}})
\end{aligned}\right\}.
$$
:::warning
- [x] 說明原因
:::
$Ans:$
$$[\operatorname{id}]_\beta^\alpha =\left[
\begin{array}{ccc}
\frac{1}{\sqrt{3}} & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{6}} \\
\frac{1}{\sqrt{3}} & \frac{-1}{\sqrt{2}} & \frac{1}{\sqrt{6}}\\
\frac{1}{\sqrt{3}} & 0 & \frac{-2}{\sqrt{6}} \\
\end{array}
\right].
$$
假設 $\beta$ 中的向量依序為 $\bu_1,\bu_2,\bu_3$,那麼 $(1 , 0 , 0)$ 這個以 $\alpha$ 表示法表示出來的向量可以表示成 $c_1\bu_1 + c_2\bu_2 + c_3\bu_3$,其中 $c_1,c_2,c_3 \in \mathbb R$。
則 $c_1,c_2,c_3$ 就是我們要求的 $[\operatorname{id}]_\alpha^\beta$ 的第一行。同理我們可以代
$(0 , 1 , 0),(0 , 0 , 1)$ 進去求出第二及第三行。
得到
$$[\operatorname{id}]_\alpha^\beta =\left[
\begin{array}{ccc}
\frac{1}{\sqrt{3}} & \frac{1}{\sqrt{3}} & \frac{1}{\sqrt{3}} \\
\frac{1}{\sqrt{2}} & \frac{-1}{\sqrt{2}} & 0 \\
\frac{-1}{\sqrt{6}} & \frac{1}{\sqrt{6}} & \frac{-2}{\sqrt{6}} \\
\end{array}
\right].
$$
##### Exercise 2(c)
令 $V = \mathcal{P}_2$、
$\alpha = \{1, x, x^2\}$ 為標準基底、
$\beta = \{1, 1-x, (1-x)^2\}$。
:::warning
- [x] 說明原因
:::
$Ans:$
$\beta = \{1, 1-x, 1-2x+x^2\}$
$$[\operatorname{id}]_\beta^\alpha =\left[
\begin{array}{ccc}
1 & 1 & 1 \\
0 & -1 & -2 \\
0 & 0 & 1 \\
\end{array}
\right].$$
假設 $\beta$ 中的向量依序為 $\bu_1,\bu_2,\bu_3$,那麼 $(1 , 0 , 0)$ 這個以 $\alpha$ 表示法表示出來的向量可以表示成 $c_1\bu_1 + c_2\bu_2 + c_3\bu_3$,其中 $c_1,c_2,c_3 \in \mathbb R$。
則 $c_1,c_2,c_3$ 就是我們要求的 $[\operatorname{id}]_\alpha^\beta$ 的第一行。同理我們可以代
$(0 , 1 , 0),(0 , 0 , 1)$ 進去求出第二及第三行。
得到
$$[\operatorname{id}]_\alpha^\beta =\left[
\begin{array}{ccc}
1 & 1 & 1 \\
0 & -1 & -2 \\
0 & 0 & 1 \\
\end{array}
\right].
$$
##### Exercise 2(d)
令
$$\begin{aligned}
p_1(x) &= \frac{(x-2)(x-3)}{(1-2)(1-3)}, \\
p_2(x) &= \frac{(x-1)(x-3)}{(2-1)(2-3)}, \\
p_3(x) &= \frac{(x-1)(x-2)}{(3-1)(3-2)}. \\
\end{aligned}
$$
令 $V = \mathcal{P}_2$、
$\alpha = \{1, x, x^2\}$ 為標準基底、
$\beta = \{p_1, p_2, p_3\}$。
:::warning
- [x] 說明原因
:::
$Ans:$
由原式可知
$$\begin{aligned}
p_1(x) &= \frac{x^2-5x+6}{2} \\
p_2(x) &= -x^2+4x-3 \\
p_3(x) &= \frac{x^2-3x+2}{2} \\
\end{aligned}.$$
$$[\operatorname{id}]_\beta^\alpha =\left[
\begin{array}{ccc}
3 & -3 & 1 \\
\frac{-5}{2} & 4 & \frac{-3}{2} \\
\frac{1}{2} & -1 & \frac{1}{2} \\
\end{array}
\right].$$
假設 $\beta$ 中的向量依序為 $\bu_1,\bu_2,\bu_3$,那麼 $(1 , 0 , 0)$ 這個以 $\alpha$ 表示法表示出來的向量可以表示成 $c_1\bu_1 + c_2\bu_2 + c_3\bu_3$,其中 $c_1,c_2,c_3 \in \mathbb R$。
則 $c_1,c_2,c_3$ 就是我們要求的 $[\operatorname{id}]_\alpha^\beta$ 的第一行。同理我們可以代
$(0 , 1 , 0),(0 , 0 , 1)$ 進去求出第二及第三行。
得到
$$[\operatorname{id}]_\alpha^\beta =\left[
\begin{array}{ccc}
1 & 1 & 1 \\
1 & 2 & 4 \\
1 & 3 & 9 \\
\end{array}
\right].$$
##### Exercise 3
說明以下三個等式的直觀解釋:
- $[\operatorname{id}]_\alpha^\alpha = I_n$,
- $[\operatorname{id}]_\beta^\gamma[\operatorname{id}]_\alpha^\beta = [\operatorname{id}]_\alpha^\gamma$,
- $[\operatorname{id}]_\beta^\alpha[\operatorname{id}]_\alpha^\beta = I_n$.
:::success
漂亮~
:::
$Ans:$
$1.$
$[\operatorname{id}]_\alpha^\alpha$ 的意思是把以 $\alpha$ 為基底的向量表示法轉為以 $\alpha$ 的向量表示法,簡單說就是沒變。
而要能讓向量經過矩陣運算後不變,那只有單位矩陣這種可能,故
$$[\operatorname{id}]_\alpha^\alpha = I_n.$$
$2.$
$[\operatorname{id}]_\beta^\gamma[\operatorname{id}]_\alpha^\beta$ 的意思是把以 $\alpha$ 為基底的向量表示法轉為以 $\beta$ 的向量表示法,再把以 $\beta$ 為基底的向量表示法轉為以 $\gamma$ 的向量表示法。所以轉成 $\beta$ 表示法只是一個過程,可以直接把以 $\alpha$ 為基底的向量表示轉為以 $\gamma$ 的向量表示法,所以 $$[\operatorname{id}]_\beta^\gamma[\operatorname{id}]_\alpha^\beta = [\operatorname{id}]_\alpha^\gamma.$$
$3.$
經由第二個敘述得到 $[\operatorname{id}]_\beta^\alpha[\operatorname{id}]_\alpha^\beta = [\operatorname{id}]_\alpha^\alpha$,再藉由第一個敘述得到 $[\operatorname{id}]_\alpha^\alpha = I_n.$ 所以,
$$[\operatorname{id}]_\beta^\alpha[\operatorname{id}]_\alpha^\beta = I_n.
$$
##### Exercise 4
我們已經看到每個基底轉換矩陣 $[\operatorname{id}]_\alpha^\beta$ 都是可逆的﹐而且其逆矩陣就是 $[\operatorname{id}]_\beta^\alpha$。
證明每個 $n\times n$ 的可逆矩陣也可以寫成 $\mathbb{R}^n$ 中的兩組基底 $\alpha$ 和 $\beta$ 所建構出來的基底轉移矩陣。
(把 $\alpha$ 取為 $A$ 的各行向量、
$\beta$ 取為標準基底。)
:::success
Great!
:::
$Ans:$
令 $A$ 為一個 $n\times n$ 可逆矩陣, 且其行向量依序為 $\bu_1,\ldots,\bu_n$。
令 $\alpha = \{\bu_1, \ldots, \bu_n\}$、 並令 $\beta$ 為 $\mathbb{R}^n$ 中的標準基底。
那麼,因為 $A$ 是可逆的,所以 $A$ 中的行向量彼此線性獨立,故 $A$ 有 $n$ 個軸。從這個條件中,我們可以得到 $\alpha$ 為 $\Col(A) = \mathbb R^n$ 的基底。
此時如果我們想把以 $\alpha$ 為基底的向量表示轉換成以 $\beta$ 為基底的向量表示法,那我們可以利用一個矩陣來表示這次轉換。即
$$[\operatorname{id}]_\alpha^\beta[\operatorname{\bx}]_\alpha = [\operatorname{\bx}]_\beta,
$$
其中 $[\operatorname{id}]_\alpha^\beta$ 為我們要求的矩陣,$[\bx]_\alpha$ 表示以 $\alpha$ 為基底的向量表示法,$[\bx]_\beta$ 表示以 $\beta$ 為基底的向量表示法。
此刻我們可以 $\bu_1$ 代入這個式子,得到
$$[\operatorname{id}]_\alpha^\beta[\bu_1]_\alpha = [\bu_1]_\beta.
$$
因為 $\bu_1 = 1\bu_1 + 0\bu_2 + \cdots + 0\bu_n,$ 所以 $$[\bu_1]_\alpha = (1,0,\ldots,0).
$$
而 $\bu_1 = c_1\be_1 + \cdots + c_n\be_n$,其中 $c_1 , \ldots , c_n$ 為 $\bu_1$ 每一項的數值,所以 $$[\bu_1]_\beta = (c_1,\ldots,c_n) = \bu_1.
$$
同理,我們可以寫出 $\bu_2,\ldots,\bu_n$ 的 $\alpha$ 及 $\beta$ 表示法,整併之後得到
$$[\operatorname{id}]_\alpha^\beta \begin{bmatrix}
| & ~ & | \\
[\bu_1]_\alpha & \cdots & [\bu_n]_\alpha \\
| & ~ & | \\
\end{bmatrix} = \begin{bmatrix}
| & ~ & | \\
[\bu_1]_\beta & \cdots & [\bu_n]_\beta \\
| & ~ & | \\
\end{bmatrix}.$$
又
$$[\operatorname{id}]_\alpha^\beta \begin{bmatrix}
| & ~ & | \\
[\bu_1]_\alpha & \cdots & [\bu_n]_\alpha \\
| & ~ & | \\
\end{bmatrix} =
[\operatorname{id}]_\alpha^\beta I_n
$$
與
$$\begin{bmatrix}
| & ~ & | \\
[\bu_1]_\beta & \cdots & [\bu_n]_\beta \\
| & ~ & | \\
\end{bmatrix} =
\begin{bmatrix}
| & ~ & | \\
\bu_1 & \cdots & \bu_n \\
| & ~ & | \\
\end{bmatrix} = A.
$$
得到
$$[\operatorname{id}]_\alpha^\beta I_n =
[\operatorname{id}]_\alpha^\beta =
A.
$$
:::info
目前分數 6.5
:::