圓錐曲線

本文的閱讀等級:初級

任意二元二次方程式可表示為

\displaystyle  ax^2+bxy+cy^2+dx+ey+f=0

其中 a,b,c,d,e,f 是實數且 a,b,c 不全為零 (否則二次方程退化為一次方程)。在卡氏座標系統中,二元二次方程的軌跡稱為圓錐曲線[1](conic section,也稱二次曲線)。本文介紹如何通過旋轉與平移,將任一圓錐曲線化簡至典型表達式。圓錐曲線共可區分為9種類別,根據典型表達式的推演結果,我們設計一組建立於行列式的判別式 (discriminant)。

 
二元二次方程式可用矩陣表示如下:

\displaystyle  \begin{bmatrix}  x&y  \end{bmatrix}\begin{bmatrix}  a&\frac{b}{2}\\[0.5em]  \frac{b}{2}&c  \end{bmatrix}\begin{bmatrix}  x\\  y  \end{bmatrix}+\begin{bmatrix}  d&e  \end{bmatrix}\begin{bmatrix}  x\\  y  \end{bmatrix}+f=\mathbf{x}^TA\mathbf{x}+\mathbf{b}^T\mathbf{x}+f=0

其中

A=\begin{bmatrix}  a&\frac{b}{2}\\[0.5em]  \frac{b}{2}&c  \end{bmatrix},~~\mathbf{b}=\begin{bmatrix}  d\\  e  \end{bmatrix},~~\mathbf{x}=\begin{bmatrix}  x\\  y  \end{bmatrix}

因為 A 是實對稱矩陣,故可正交對角化為 A=Q\Lambda Q^T,其中 \Lambda=\hbox{diag}(\lambda_1,\lambda_2)\lambda_1\lambda_2A 的實特徵值,Q=\begin{bmatrix}  \mathbf{q}_1&\mathbf{q}_2  \end{bmatrix} 是由 A 的特徵向量 \mathbf{q}_1\mathbf{q}_2 構成的正交矩陣,即 Q^TQ=QQ^T=I (見“實對稱矩陣可正交對角化的證明”)。二階正交矩陣僅有下列兩種形式:

R(\theta)=\displaystyle  \left[\!\!\begin{array}{cr}  \cos\theta&-\sin\theta\\  \sin\theta&\cos\theta  \end{array}\!\!\right],~~P(\theta)=\left[\!\!\begin{array}{cr}  \cos\theta&\sin\theta\\  \sin\theta&-\cos\theta  \end{array}\!\!\right]

其中 \theta\in\mathbb{R}。前者 R(\theta) 表示逆時針旋轉 \theta 角,後者 P(\theta) 表示先對 X 軸鏡射 (反射),變換矩陣為 \left[\!\!\begin{array}{cr}  1&0\\  0&-1  \end{array}\!\!\right],然後再逆時針旋轉 \theta 角。明顯地,\det R(\theta)=1\det P(\theta)=-1。習慣上,我們設定 Q 為旋轉矩陣 R(-\theta),則 \mathbf{q}_1=(\cos\theta,-\sin\theta)^T\mathbf{q}_2=(\sin\theta,\cos\theta)^T

 
下面說明如何正交對角化 A。寫出特徵多項式

\displaystyle  p(t)=\det(A-tI)=\begin{vmatrix}  a-t&\frac{b}{2}\\[0.5em]  \frac{b}{2}&c-t  \end{vmatrix}=t^2-(a+c)t+ac-\frac{b^2}{4}

解出兩個實根,

\displaystyle  \lambda_1=\frac{a+c+\sqrt{(a-c)^2+b^2}}{2},~~\lambda_2=\frac{a+c-\sqrt{(a-c)^2+b^2}}{2}

對於 \lambda_1,特徵向量 \mathbf{q}_1 使得 (A-\lambda_1I)\mathbf{q}_1=\mathbf{0},即

\displaystyle  \frac{1}{2}\begin{bmatrix}  a-c-\sqrt{(a-c)^2+b^2}&b\\  b&c-a-\sqrt{(a-c)^2+b^2}  \end{bmatrix}\left[\!\!\begin{array}{r}  \cos\theta\\  -\sin\theta  \end{array}\!\!\right]=\begin{bmatrix}  0\\  0  \end{bmatrix}

由此可得

\displaystyle  \tan\theta=\frac{\sin\theta}{\cos\theta}=\frac{a-c-\sqrt{(a-c)^2+b^2}}{b}

如欲將此公式簡化,使用倍角公式

\displaystyle  \tan 2\theta=\frac{2\tan\theta}{1-\tan^2\theta}

計算得到 \tan 2\theta=b/(c-a),故

\displaystyle  \theta=\frac{1}{2}\arctan\frac{b}{c-a}

Q=R(-\theta)。將 A=Q\Lambda Q^T 代入矩陣表達式的二次型,

\displaystyle  \mathbf{x}^TA\mathbf{x}=\mathbf{x}^TQ\Lambda Q^T\mathbf{x}=(Q^T\mathbf{x})^T\Lambda(Q^T\mathbf{x})

\mathbf{x}'=Q^T\mathbf{x}。因為 Q^T=R(\theta)\mathbf{x}' 可以解釋為 \mathbf{x} 經過旋轉 R(\theta) 的向量,也可以說是 \mathbf{x} 參考新基底 \{(\cos\theta,-\sin\theta)^T,(\sin\theta,\cos\theta)^T\} 的座標向量。透過變數變換,\mathbf{x}=Q\mathbf{x}',等價的圓錐曲線矩陣表達式為

\displaystyle  \mathbf{x}'^T\Lambda\mathbf{x}'+\mathbf{b}^TQ\mathbf{x}'+f=0

(\alpha,\beta)=\mathbf{b}^TQ。乘開上式,即有

\displaystyle  \lambda_1x'^2+\lambda_2y'^2+\alpha x'+\beta y'+f=0

 
更進一步,如欲移除線性項,運用配方法,

\displaystyle \displaystyle\begin{aligned}  &\lambda_1x'^2+\lambda_2y'^2+\alpha x'+\beta y'+f\\  &=\lambda_1\left(x'+\frac{\alpha}{2\lambda_1}\right)^2+\lambda_2\left(y'+\frac{\beta}{2\lambda_2}\right)^2-\frac{\alpha^2}{4\lambda_1}-\frac{\beta^2}{4\lambda_2}+f=0.\end{aligned}

\lambda_1\lambda_2 皆不為零,即 \Lambda 可逆,則平移量 \mathbf{p}=(\alpha/(2\lambda_1),\beta/(2\lambda_2))^T 可使圖形中心位於原點。 令 \mathbf{x}''=\mathbf{x}'+\mathbf{p} 表示 \mathbf{x}' 經過平移 \mathbf{p} 後的向量。平移後的圓錐曲線具有最簡形式:

\displaystyle  \lambda_1x''^2+\lambda_2y''^2+f'=0

其中 f'=f-\alpha^2/(4\lambda_1)-\beta^2/(4\lambda_2)。若 \lambda_1=\lambda_2=0,則 a=b=c=0,圓錐曲線退化為一條直線。若 \lambda_1\neq 0\lambda_2=0,這時圓錐曲線的幾何中心不存在,但仍可藉由平移 \mathbf{p}=(\alpha/(2\lambda_1),0)^T 得到

\displaystyle  \lambda_1x''^2+\beta y''-\frac{\alpha^2}{4\lambda_1}+f=0

 
從圓錐曲線典型表達式的推演過程,我們知道圓錐曲線的類別完全由對稱矩陣 A 的特徵值 \lambda_1\lambda_2 決定,分述於下:

(1) 若 \lambda_1\lambda_2 不為零且同號,則圓錐曲線為
  • 橢圓,若 f'\lambda_i 異號;
  • 虛橢圓,若 f'\lambda_i 同號;
  • 點,若 f'=0
(2) 若 \lambda_1\lambda_2 不為零且異號,則圓錐曲線為
  • 雙曲線,若 f'\neq 0
  • 兩相交直線,若 f'=0
(3) 若 \lambda_1\neq 0\lambda_2=0 (如果相反,對調 \lambda_1\lambda_2 即可),則圓錐曲線為
  • 拋物線,若 \beta\neq 0
  • 兩平行直線,若 \beta=0f'\lambda_1 異號;
  • 兩虛平行直線,若 \beta=0f'\lambda_1 同號;
  • 兩重合直線,若 f'=0

 
我們想設計一套簡易的圓錐曲線判別法則。將二元二次方程式寫為

\displaystyle  \begin{bmatrix}  x&y&1  \end{bmatrix}\begin{bmatrix}  a&\frac{b}{2}&\frac{d}{2}\\[0.3em]  \frac{b}{2}&c&\frac{e}{2}\\[0.3em]  \frac{d}{2}&\frac{e}{2}&f  \end{bmatrix}\begin{bmatrix}  x\\  y\\  1  \end{bmatrix}=\begin{bmatrix}  \mathbf{x}^T&1  \end{bmatrix}M\begin{bmatrix}  \mathbf{x}\\  1  \end{bmatrix}=0

其中 3\times 3 階矩陣

M=\begin{bmatrix}  a&\frac{b}{2}&\frac{d}{2}\\[0.3em]  \frac{b}{2}&c&\frac{e}{2}\\[0.3em]  \frac{d}{2}&\frac{e}{2}&f  \end{bmatrix}

完全決定圓錐曲線,稱為圓錐曲線矩陣。因為 (x,y,1) 稱為齊次座標,上式也叫做齊次表達式。第一次所執行的變數變換可用齊次旋轉矩陣表示為

\displaystyle  \begin{bmatrix}  x\\  y\\  1  \end{bmatrix}=\left[\!\!\begin{array}{rrr}  \cos\theta&\sin\theta&0\\  -\sin\theta&\cos\theta&0\\  0&0&1  \end{array}\!\!\right]\begin{bmatrix}  x'\\  y'\\  1  \end{bmatrix}

第二次執行的變數變換可用齊次平移矩陣表示為

\displaystyle  \begin{bmatrix}  x'\\  y'\\  1  \end{bmatrix}=\left[\!\!\begin{array}{ccc}  1&0&-\frac{\alpha}{2\lambda_1}\\[0.5em]  0&1&-\frac{\beta}{2\lambda_2}\\  0&0&1  \end{array}\!\!\right]\begin{bmatrix}  x''\\  y''\\  1  \end{bmatrix}

如果 \lambda_2=0,上式則為

\displaystyle  \begin{bmatrix}  x'\\  y'\\  1  \end{bmatrix}=\left[\!\!\begin{array}{ccc}  1&0&-\frac{\alpha}{2\lambda_1}\\[0.3em]  0&1&0\\  0&0&1  \end{array}\!\!\right]\begin{bmatrix}  x''\\  y''\\  1  \end{bmatrix}

每次經變數變換,圓錐曲線矩陣便隨之改變,如下所示:

M\to H^TMH

其中 H 是上面任一齊次變換矩陣。值得注意的是,這些齊次變換矩陣都是可逆的,也就是說,所有的改變皆可回復。所以,圓錐曲線矩陣 M 的矩陣秩 \hbox{rank}M 具有不變性。此外,不論齊次旋轉 (含鏡射) 矩陣或平移矩陣皆滿足 \det H=\pm 1,即有 \det(H^TMH)=(\det H^T)(\det M)(\det H)=(\det M)(\det H)^2=\det M,可知圓錐曲線矩陣的行列式也有不變性。

(1) 若 \lambda_1\neq 0\lambda_2\neq 0,最終我們得到圓錐曲線矩陣

M_1=\begin{bmatrix}  \lambda_1&0&0\\  0&\lambda_2&0\\  0&0&f'  \end{bmatrix}

f'\neq 0,則 \hbox{rank}M_1=3,根據前述分類,圓錐曲線為實橢圓、虛橢圓,或雙曲線。若 f'=0,則 \hbox{rank}M_1=2,圓錐曲線為一點或兩相交直線。

(2) 若 \lambda_1\neq 0\lambda_2=0,我們得到圓錐曲線矩陣

M_2=\begin{bmatrix}  \lambda_1&0&0\\  0&0&\frac{\beta}{2}\\[0.3em]  0&\frac{\beta}{2}&f'  \end{bmatrix}

\beta\neq 0\hbox{rank}M_2=3,圓錐曲線是拋物線。若 \beta=0\hbox{rank}M_2=12,由 f' 是否為零決定。若 \hbox{rank}M_2=1,圖形是兩重合直線;若 \hbox{rank}M_2=2,圖形則是兩平行直線或兩虛平行直線。

 
我們總結本文的分析。定義判別式

\Delta=\det M=\begin{vmatrix}  a&\frac{b}{2}&\frac{d}{2}\\[0.5em]  \frac{b}{2}&c&\frac{e}{2}\\[0.5em]  \frac{d}{2}&\frac{e}{2}&f  \end{vmatrix},~~\delta=\det A=\begin{vmatrix}  a&\frac{b}{2}\\[0.3em]  \frac{b}{2}&c  \end{vmatrix}

其中 \delta=\lambda_1\lambda_2,因為行列式等於特徵值的積,a+c=\lambda_1+\lambda_2,因為跡數 (trace) 等於特徵值的和。以下判別規則的細部留給讀者自行推導。

\Delta\neq 0,即 \hbox{rank}M=3,圓錐曲線未發生退化。
  • \delta>0,圖形為實橢圓,若 (a+c)\Delta< 0,否則為虛橢圓。
  • \delta<0,圖形為雙曲線。
  • \delta=0,圖形為拋物線。
\Delta=0,即 \hbox{rank}M<3,圓錐曲線退化為點或直線。
  • \delta>0,圖形為一點。
  • \delta<0,圖形為兩相交直線。
  • \delta=0,圖形為兩平行直線,若 d^2+e^2>4(a+c)f;兩虛平行直線,若 d^2+e^2<4(a+c)f;兩重合直線,若 d^2+e^2=4(a+c)f

 
最後補充一個例子[2]

5x^2-4xy+8y^2+4\sqrt{5}x-16\sqrt{5}y+4=0

寫出矩陣形式

\begin{bmatrix}  x&y  \end{bmatrix}\left[\!\!\begin{array}{rr}  5&-2\\  -2&8  \end{array}\!\!\right]\begin{bmatrix}  x\\  y  \end{bmatrix}+\begin{bmatrix}  4\sqrt{5}&-16\sqrt{5}  \end{bmatrix}\begin{bmatrix}  x\\  y  \end{bmatrix}+4=0

與圓錐曲線矩陣

M=\left[\!\!\begin{array}{rrr}  5&-2&2\sqrt{5}\\  -2&8&-8\sqrt{5}\\  2\sqrt{5}&-8\sqrt{5}&4  \end{array}\!\!\right]

計算判別式

\Delta=\left|\!\!\begin{array}{rrr}  5&-2&2\sqrt{5}\\  -2&8&-8\sqrt{5}\\  2\sqrt{5}&-8\sqrt{5}&4  \end{array}\!\!\right|=-12960

因為 (5+8)\Delta<0,故知圓錐曲線為一橢圓。以下是典型表達式的化簡過程。令 A=\left[\!\!\begin{array}{rr}  5&-2\\  -2&8  \end{array}\!\!\right]\mathbf{b}=(4\sqrt{5},-16\sqrt{5})^T

(1) 將 A 正交對角化為 A=Q\Lambda Q^T,結果如下:

\displaystyle  Q=\left[\!\!\begin{array}{cr}  \frac{2}{\sqrt{5}}&-\frac{1}{\sqrt{5}}\\[0.5em]  \frac{1}{\sqrt{5}}&\frac{2}{\sqrt{5}}  \end{array}\!\!\right],~~\Lambda=\begin{bmatrix}  4&0\\  0&9  \end{bmatrix}

計算 \displaystyle  (\alpha,\beta)=\mathbf{b}^TQ=(-8,-36)

(2) 寫出以新變數 x'y' 表達的圓錐曲線:

4x'^2+9y'^2-8x'-36y'+4=0

(3) 使用配方法,將上式改寫成

\displaystyle   4(x'-1)^2+9(y'-2)^2=36

x''=x'-1y''=y'-2。最後得到標準化的橢圓:

\displaystyle  \frac{x''^2}{9}+\frac{y''^2}{4}=1

 
參考來源:
[1] 有關圓錐曲線的類型與幾何性質,詳見維基百科:圓錐曲線
[2] 取自 Howard Anton 與 Chris Rorres 所著 Elementary Linear Algebra,第8版,2000,頁461-462。

Advertisement
This entry was posted in 線性代數專欄, 應用之道 and tagged , , , . Bookmark the permalink.

11 Responses to 圓錐曲線

  1. 路過 says:

    “將 A=Q\Lambda Q^T 代入矩陣表達式的二次型”,這句下面的式子的X是不是多打了一個T?

  2. DavidGuo says:

    「下面說明如何正交對角化$A$。寫出特徵多項式」的下一行,
    「t^2-(a+c)」後面少了個「t」

  3. DavidGuo says:

    1. 請問,如上面提到的位置,$t$解出來若是重根的話,後面的Q的column就必需經過gram-schmit處理過。那接下來的所有的推導是否都還成立?
    2. 最後的例子前幾行,「若$\delta>0$,圖形為實橢圓,若 $c\Delta 0$」少了個「<」。

    • ccjou says:

      1. 若發生重根,推導程序不變,因為 A 是二階實對稱,二個特徵向量必然正交。一旦找到 \mathbf{q}_1,立知\mathbf{q}_2,故不需使用Gram-Schmidt 正交化。
      2. 不知怎麼會出現這個排版錯誤,已經訂正了,謝謝。

  4. Simon Chang says:

    好 謝謝

  5. wonderlandtommy says:

    請問同樣的方法可否用在二次曲面上?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s