---
# System prepended metadata

title: 03 複數
tags: [數學]

---

# 複數
## 何謂複數
在國中數學理，我們學過平方與根號，$4$ 的根號是 $2$，因為 $2^2=4$，那時的課本或許會這樣寫，說負數像 $-1, -2$ 這類是沒有根號，但實際上是有的，這我們稱作「複數」（complex number），數學記做 $\mathbb{C}$。

<div style="text-align: center;">
    <img src="https://upload.wikimedia.org/wikipedia/commons/c/cb/Number-systems_%28NZQRC%29.svg" alt="vector" width="100%"/>
    <br>
<br>
</div>

在複數的概念中，有一個東西稱作為「虛數」。虛數的定義為 $-1$ 的根號，$\sqrt{-1}$，數學記做 $i$，也就是說 $i^2=-1$，從這裡可以很明顯地得到：

\begin{align}
\sqrt{-4}=2\sqrt{-1}=2i
\end{align}

> 在數學的發展史中，包括大神歐拉都犯過這樣的錯誤，以為 $i^2=\sqrt{-1}\sqrt{-1}=\sqrt{(-1)(-1)}=1$，記住不是這樣喔

從此所有負數的根號都有了定義。

## 複數的起源
初學複數，你可能覺得這是人類硬編出來的數字，在現實中根本找不到。沒關係，這很正常，在數學的發展史上也是這樣演進，從人類第一次提出複數這概念，到人類發現它真的有用，這中間掙扎了近 200 年，因此你現在初學就覺得困惑是非常正常。

而這一切始於解方程式，相信大家在國中學一元二次方程式都看過這公式：

\begin{align}
x=\frac{-b\pm \sqrt{b^2-4ac}}{2a}
\end{align}

然後當時的教材都會告訴你當 $b^2-4ac<0$ 時此方程式無解。

> 這邊沒有要怪國中老師或是國中標準教材，畢竟要一個普通國中生剛學會一元二次方程式，接著馬上接觸虛數，大概全班只有兩個天賦異稟的人聽得懂，別忘了，這世界上很多如我的普通人

然而這問題困惑以前的貴族數學家，他們並沒有因為「無解」就打住，他們覺得這背後一定藏有甚麼大奧妙，不過當時數學家想了一輩子也沒想出來，為了解決這困惑，1637 年的笛卡爾被迫提出「虛數」一詞，因為這在笛卡爾 $xy$ 座標上找不到，但他本人其實十分排斥虛數，跟現在的你一樣。

但命運就是這麼奇妙，即便數學家每個都很排斥虛數，但在邁向數學偉大的路上，人類進入了不得不直面他的處境。西元 1545 年義大利數學家 Girolamo Cardano 提出三次方程式 $x^3=bx+c$ 的解：

\begin{align}
x= ^3\sqrt{\frac{c}{2}+\sqrt{\frac{c^2}{4}-\frac{b^3}{27}}}+^3\sqrt{\frac{c}{2}-\sqrt{\frac{c^2}{4}-\frac{b^3}{27}}}
\end{align}

如果根號中的 $\frac{c^2}{4}-\frac{b^3}{27}<0$ 理應是無解，但如果是以下這方程式﹔

\begin{align}
x^3&=15x+4\\
x&=^3\sqrt{2+11\sqrt{-1}}+^3\sqrt{2-11\sqrt{-1}}
\end{align}

看似這無解，但神奇的是，另一個數學家 Rafael Bombelli 後來算出來 $x$ 是個實數 $x=4$，所以這方程式其實有解!一個在你國中被認為是無解的方程式其實是有解的，而且是實數解。
> 其實當時 Cardano 有考慮到虛數，但他是這樣形容虛數﹔"mental torture"

這就是人類後來為何終究要認真看待虛數的原因，不過也要等到 18 世紀 Euler 問世才將複數的潛力發揮出來。

> 筆者也畢竟不是數學系，這段歷史故事僅做為教學用讓你逐漸適應 $i$ 的出現， 實際歷史會比這再更複雜，也不會是單單這原因才讓數學家紛紛重視虛數並讓理論更完善

## 複數的運算規則
當虛數與實數結合，就是複數，記做 $a+bi$，比方說 $z=3+4i$，其中 $a$ 稱作 $z$ 的實部（real part），$b$ 則為 $z$ 的虛部（imaginary part）。照這樣的定義來說平常你熟知的實數也都屬於複數，只是虛部為 $0$，像是 $3=3+0i$。

### 複數的加減法
複數的加減其實很簡單，就是實部只跟實部做運算，虛部與虛部做運算，即：

\begin{align}
(a+bi)+(c+di)=(a+c)+(b+d)i \\
(a+bi)-(c+di)=(a-c)+(b-d)i
\end{align}

比方說 $3+4i$ 與 $2+1i$ 做相加（相減）：

\begin{align}
(3+4i)+(2+1i)&= 5+5i\\
(3+4i)-(2+1i)&=1-3i
\end{align}

### 複數的乘法
乘法的話就要一個一個去乘：

\begin{align}
(a+bi)\times(c+di)&=ac+adi+bci+bdii\\
&=ac+adi+bci+bd(-1)\\
&=(ac-bd)+(ad+bc)i
\end{align}

以剛剛兩個複數為例：

\begin{align}
(3+4i)\times(2+1i)&= 6+3i+8i+4ii\\
&=6+11i-4\\
&=2+11i
\end{align}

### 共軛（conjugation）
一個複數 $z=a+bi$ 的共軛（conjugation）為 $\overline{z}=a-bi$，有時也記做 $*$，即 $z^*$，舉例：

\begin{align}
(3+4i)^*=\overline{(3+4i)}=3-4i
\end{align}

透過 conjugation，我們可以計算非零複數的倒數：

\begin{align}
z^{-1}&=\frac{1}{z}=\frac{\overline{z}}{z\overline{z}}=\frac{a-bi}{a^2+b^2}\\
&=\frac{a}{a^2+b^2}-\frac{b}{a^2+b^2}i
\end{align}

暫且回到前面的章節，如果對一個矩陣 $M$ 做轉置後，接著對裡面的元素做 conjugation，這操作記做 $\dagger$（dagger），$M^\dagger=(M^T)^*$，比方說：

\begin{align}
\begin{bmatrix}
3 & 4i
\end{bmatrix}^\dagger =
\begin{bmatrix}
3 \\ -4i
\end{bmatrix}
\end{align}

好，我們回來，一個複數 $z$ 的絕對值為 $|z|=\sqrt{z\overline{z}}=\sqrt{a^2+b^2}$，

\begin{align}
(a+bi)\overline{(a+bi)}&=(a+bi)(a-bi)\\
&=a^2+abi-abi-b^2ii\\
&=a^2+b^2
\end{align}

如果 $|z|=1$，我們稱之為 unit。

### Units
如果一個實數的絕對值為 $1$，那這實數只有兩種可能，要嘛 $+1$ 要嗎 $-1$，但複數不同，它會有無限種可能，不只 $1,-1,i,-1$，還有 $\frac{\sqrt 2}{2}+\frac{\sqrt 2}{2}i$ 等等。而你在三角函數裡一定學過：

\begin{align}
\sin^2(x)+\cos^2(x)=1
\end{align}

因此我們可以把 units 的複數寫作：

\begin{align}
z=\cos(x)+i\sin(x)
\end{align}

即：

\begin{align}
|z|=1=\sqrt{\cos^2(x)+\sin^2(x)}
\end{align}

## 自然常數
在我們繼續深入複數的內容前，容我先簡介其他但很重要的概念：自然常數 $e$，又稱作 Euler's number，它是一個常數：

\begin{align}
e=2.718281828\cdots
\end{align}

> 之所以不是叫 Euler's constant 是因為那是另一個東西，差不多是 0.57721

要介紹它的來歷以及它的特別之處，需要很長篇的文章作解釋，讀者就先把它當作類似 $\pi$ 的東西，就是一個常數，因為要真正理解它的奧妙得要會點微積分，然後這常數很神奇，你未來讀大學後，不管是物理、生物、流行病學、化工、工程、數學、化學與經濟，都會一直看到它本人，形影不離，有興趣的讀者可以參考文末提供的延伸閱讀。

## 複數平面
你以前一定碰過卡迪爾 $xy$ 座標來標示物體的位置，那複數同樣也可以用類似的平面做標記，稱作複數平面，橫軸為實部，縱軸為虛部

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/BJFdb1BXbe.svg" alt="complex plane" width="70%"/>
    <br>複數平面</p>
<br>
</div>

注意，任兩個複數之間是無法比誰比較大誰比較小，所以一個複數在平面上比較遠的地方不代表它比較大。當我們對一個複數做共軛時，就像是讓它對橫軸做鏡像，如下圖所示：

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/Syi3fkSX-g.svg" alt="conjugation" width="70%"/>
    <br>共軛的幾何解釋
<br>
</div>

你或許也學過極座標（polar corrdinate），它與 $xy$ 座標一樣，只是 $x$ 與 $y$ 改用三角函數做表示，即：

\begin{align}
(x,y)=(r\cos{\theta}, r\sin{\theta})
\end{align}

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/ByhpE1Bmbx.svg" alt="polar coordinate" width="70%"/>
    <br>極座標</p>
<br>
</div>

以前面向量為例，原本的 $(3,4)$ 可以表示成 $\approx(5\cos{53.13^\circ}. 5\sin{53.13^\circ})$。同樣地，複數平面也可以改成極座標，其中的 $r$ 就是 $|z|$：

\begin{align}
(a,bi)=(|z|\cos{\theta}, i|z|\sin{\theta})
\end{align}

從這裡你有沒有發現什麼，沒錯前面提到的 units！就是複數平面與原點距離為 1 的單位圓，單位圓上每一個點的複數絕對值都是 $1$。

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/HJYBDkHXWx.svg" alt="polar coordinate" width="70%"/>
    <br>units 的幾何解釋，在紅線上所有的點，其絕對值都是 1
<br>
</div>

## 歐拉公式
這邊是我要跟讀者道歉的地方，由於篇幅限制，這邊我們只能直接給你公式結果，因為這推導過程會需要微積分與 Taylor series，當然這兩個並不會真的難到無法理解，但會用到很大的篇幅，有興趣的讀者可以在網路上找到許多證明方法，這邊就直接說明歐拉公式是什麼：

\begin{align}
e^{i\theta}=\cos{\theta}+i\sin{\theta}
\end{align}

因此當 $\theta=\pi$ 時
\begin{align}
e^{i\pi}=\cos{\pi}+i\sin{\pi}=-1+0i=-1
\end{align}

這東西可以做非常神奇的事，它可以讓我們將複數在平面上做旋轉，比方說我們要讓 $z=3+4i$ 旋轉 $90$ 度：

\begin{align}
e^{i\frac{\pi}{2}}(3+4i)&=(\cos \frac{\pi}{2}+i\sin \frac{\pi}{2})(3+4i)\\
&=i(3+4i)\\
&=-4+3i
\end{align}

從以上你發現一個神奇的事，在過去，你想得到一個向量旋轉 $90$ 度，得對向量乘上旋轉矩陣，才得到旋轉後的向量是甚麼，現在，你只要簡單地乘上 $i$ 就好。以前一章旋轉向量為例，旋轉 $-90$ 度就是簡單地乘上 $-i$：

\begin{align}
-i(3+4i)=4-3i
\end{align}

接下來我們要結合矩陣，引出非常神奇的事情，假設我們把 $1$ 與 $i$ 都定義成矩陣：

\begin{align}
1=I=
\begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix}, \space
i=
\begin{bmatrix}
0 & -1 \\
1 & 0
\end{bmatrix}
\end{align}

因此 $e^{i\theta}$ 可以寫成：

\begin{align}
e^{i\theta}&=\cos{\theta}
\begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix}
+\sin{\theta}
\begin{bmatrix}
0 & -1 \\
1 & 0
\end{bmatrix}\\
&=
\begin{bmatrix}
\cos{\theta} & -\sin{\theta} \\
\sin{\theta} & \cos{\theta}
\end{bmatrix}
\end{align}

有沒有，這就是上一章提到的旋轉矩陣！！同理，複數可以表示成：

\begin{align}
z&=a+ib \\
&=a
\begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix}
+b
\begin{bmatrix}
0 & -1 \\
1 & 0
\end{bmatrix}\\
&=
\begin{bmatrix}
a & -b \\
b & a
\end{bmatrix}
\end{align}

因此：

\begin{align}
z'&=e^{i\theta}z=a'+ib'\\
&=
\begin{bmatrix}
\cos{\theta} & -\sin{\theta} \\
\sin{\theta} & \cos{\theta}
\end{bmatrix}
\begin{bmatrix}
a & -b \\
b & a
\end{bmatrix} \\
&=
\begin{bmatrix}
a\cos{\theta}-b\sin{\theta} & -b\cos{\theta}-a\sin{\theta} \\
a\sin{\theta}+b\cos{\theta} & -b\sin{\theta}+a\cos{\theta}
\end{bmatrix} \\
&=
\begin{bmatrix}
a' & -b' \\
b' & a'
\end{bmatrix}\\
&=(a\cos{\theta}-b\sin{\theta})+i(a\sin{\theta}+b\cos{\theta})
\end{align}

以上這段就在說明為何複數乘法與向量旋轉是同價的，以後你計算向量旋轉不必要用矩陣乘法，簡單的複數乘法也能做到。在後續補充單元中，我們會提及旋轉矩陣 $R$ 是 $SO(2)$ 群，這個複數旋轉是 $U(1)$ 群，而因為從上面我們得知他們兩個都是在二維平面上做旋轉，因此兩個群是 isomorphism (第一次接觸這名詞的朋友，就先當作這是指一對一關係)。

## 後記
剛接觸複數或虛數的學生通常會有以下兩個的大哉問：
1. 虛數真的存在嗎？
2. 量子力學真的需要虛數嗎？

這是很正常的反應，許多剛接觸虛數的人都會覺得這是人為特別定義出來的東西，強加上去的東西，這邊筆者會嘗試回答這兩個問題，如果讀者一時仍無法接受的話也很正常，就像前面講的，數學家花了 200 年時間才接受。

首先，討論 $i$ 存不存在沒意義，就像你在問 $0$ 存不存在一樣，數學本是人類自己定義出來的東西，你也可以自己定義，但定義出來的東西有沒有意義才會是人們之後要不要接受的主因，就像是在下節進階補充會提到的 trionion，定義出來但沒有意義，而 $i$ 是個定義出來卻有意義，為人類開闢一個更廣闊的世界。

量子力學真的需要虛數嗎?很高興你問出這問題，代表你充滿了好奇心，提出了現今物理界都在熱烈討論的問題，數學家雖然接受了 $i$，但部分物理學家不是，他們相信可以不用 $i$ 來構建只需要實數的量子力學，只要把原本的複數拆成兩個實數，再搭配一些記號標示這個實數只跟哪個實數相加，就可以構建一個不需要複數的量子力學。

\begin{align}
(a,b)+(c,d)=(a+c, b+d)
\end{align}

不過這項工作並非易事，主要問題會出現在兩組獨立數字 $(a,b),(c,d)$ 如何 [tensor product](https://www.entangletech.tw/lesson/math-06) (之後的章節我們會介紹)，另一個問題是如何相乘，你可能想，就這樣乘就好啦～

\begin{align}
(a,b)\cdot(c,d)=(ac, bd)
\end{align}

但這樣會引出另一個問題，就是兩個非零數相乘會得到零：

\begin{align}
(8,0)\cdot(0,3)=(0, 0)
\end{align}

如果直接沿用原本計算規則，僅把複數改成實數，在 2021 年就透過[實驗證明](https://www.nature.com/articles/s41586-021-04160-4#Abs1)如此方法無法與實驗結果相符。

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/BJTCD1r7bg.png" alt="paper" width="60%"/>
    <br>利用貝爾實驗驗證單純將複數改成實數，其他規則都不變的量子力學，是否能與實驗相符</p>
<br>
</div>

而在今年（2025）三月與十月份，[德國](https://arxiv.org/abs/2503.17307)與[法國](https://arxiv.org/abs/2504.02808)科學家各別修改了計算規則，提出自己的版本，構建完全基於實數的量子力學，且理論上與現今量子力學等價，那這代表量子力學可以拋棄 $i$ 了嗎? 如果仔細看論文，可以發現為了讓整套理論只用到實數，要建立大量的記號來標示這個實數該跟哪個實數計算，哪兩個實數相乘需要加上負號，從而讓整套理論變得更複雜，最後你還不如乖乖接受 $i$，從這兩篇論文我們得知虛數的角色，它讓整套物理理論變得更簡潔優雅。

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/H12yMRmXbe.png" alt="paper" width="100%"/>
    <br>為了只用實數，必須把矩陣拆成 Sy 與 An，然後手動分配誰跟誰乘要加負號，本式相當於兩個複數相乘，I 是單位矩陣，J 相當於虛數</p>
<br>
</div>

這就像是，你拋棄向量概念來解幾何問題，你的確可以用國中數學，尺規作圖等方法來解，沒問題，但不如你使用向量來得簡潔優雅。

## 進階補充
以上討論的都只有限定在一個虛數單位 $i$，那人類一定不滿足與此，人類會想要定義如果有兩個虛數單位 $i,j$ 會發生什麼事？那三個虛數單位呢 $i,j,k$ 四個以上呢等等？

### Trionion
如果今天一個複數有兩個虛數單位，這種數我們稱為三元數（trionion），即：

\begin{align}
z=a+bi+cj
\end{align}

而按照前面我們的定義，很合理地我們定義：

\begin{align}
i^2=j^2=-1
\end{align}

現在我們要從這兩個已知去找出 $ij$ 是什麼，理應上 $ij$ 也會是這個形式 $a'+b'i+c'j$，接著我們再乘上 $i$：

\begin{align}
i^2j&=a'i+b'i^2+c'ji \\
-j&=a'i-b'+c'ji \\
&=a'i-b'+c'(a'+b'i+c'j)\\
&=(a'c'-b')+(a'+b'c')i+c'^2j
\end{align}

如果等號左右兩邊相等，代表 $c'^2=-1$，然而這就出現問題了，前面我們定義 $c$ 會是實數，但推演出來 $c$ 變成虛數，前後矛盾，因此三元數無法存在，或是說無法良好定義。

### Quaternions
Hamilton 在當年發現三元數無法很好地定義後，隨即在 1843 年提出四元數（quaternions），該複數 $q$ 裡有三個虛數單位 $i,j,k$：

\begin{align}
q=a+bi+cj+dk
\end{align}

很自然地，我們定義：

\begin{align}
i^2=j^2=k^2=-1
\end{align}

然後

\begin{align}
ij=-ji=k,\space jk=-kj=i,\space ki=-ik=j,\space ijk=-1
\end{align}

從前面的內容我們得知，只有一個虛數單位 $i$ 可以代表二維平面旋轉，假使兩個虛數單位的三元數存在，那它就可以代表三維空間的旋轉，但因為它不存在，人類只能拿四元數當作三維空間的旋轉，然後它們兩個之間就不是一對一關係，是二對一關係（double cover）。

## 延伸閱讀
- [歐拉數：描述連續變化的基石](https://hackmd.io/@sysprog/euler-number)
- [甚麼是e？](https://medium.com/@godfrey.leung.cosmo/有趣數學系列-甚麼是e-8e8ca4831743)