曲線是一個多項式的零集
你在這整座梯子上,一族一族地認識曲線:直線 y = mx + b、圓 x^2 + y^2 = r^2、橢圓與它的圓錐曲線表親。退一步,看看它們的共通之處。每一回,你都取了一個 x 與 y 的多項式,令它等於零,再把那些解點之集稱作「曲線」。光是這一個動作——收集某個多項式消失之處的點——就是代數曲線的完整定義。直線是 x − y = 0 之處;圓是 x^2 + y^2 − 1 = 0 之處;而三次方程 y^2 − x^3 − x = 0 所定義的曲線同樣合法,只是更野。我們不再一個物種、一個物種地研究形狀;我們一口氣研究任意多項式 f(x, y) = 0 的零集。
繫在這種曲線上最重要的一個數字,是它的次數——各項中總冪次的最大者,其中像 x^2 y 這樣的項算作三次(把指數相加)。一次多項式給出直線;二次給出你兩階之前認識的圓錐曲線(圓、橢圓、拋物線、雙曲線);三次給出上面那樣的三次曲線,依此類推。次數並非裝飾。它主宰了接下來幾乎一切:曲線能與一條直線相交幾次、需要幾個點才能把它釘住,以及——本篇的頭條——兩條曲線是如何被迫相遇的。當數學家把許多這樣的零集疊在一起,且容許任意多個變數,所得的物件便贏得一個更寬廣的名字:代數簇;而平面曲線,不過是其中最友善的一種簇。
從方程式讀出一條曲線
若只給你 f(x, y) = 0,你要如何描繪一條從未見過的曲線?最誠實的入手工具,正是你早已從座標幾何握有的那些。令 y = 0(曲線與 x 軸相交之處)與 x = 0(y 軸之處),求出截距。檢驗對稱:若把 y 換成 −y 而方程式不變,曲線便對 x 軸鏡像對稱。接著取樣:挑幾個 x 值,解出 y,再描點。對三次曲線 y^2 = x^3 − x,令 y = 0 得 x^3 − x = 0,故 x = −1, 0, 1——三個 x 軸交點——又因只出現 y^2,整幅圖上下對稱。不必任何新機器,形狀已開始從符號中浮現。
這裡有個值得停下來品味的小驚奇。那條三次曲線 y^2 = x^3 − x 並不會長成一個相連的圈。當 x 介於 −1 與 0 之間,右邊為正,故 y 為實數;當 x 大於 1,右邊又為正——但在 0 與 1 之間,右邊轉為負,於是那裡根本沒有實點。曲線裂成兩塊互不相連:一塊在 [−1, 0] 上的封閉卵形,以及一條在 x > 1 處駛向無窮的無界分支。一個工整的多項式,竟產出一條不連通的曲線。這是你初嚐代數曲線比那些訓練你直覺的直線與圓豐富得多的滋味。
奇點:曲線自我相交或扎人之處
一條漂亮曲線上的多數點都是光滑的:靠得夠近去看,曲線就像一條直線,有一個乾淨而良好定義的切線方向——正是你一階之前對曲線所要求的正則性。但多項式能搞出更糟的狀況,而這些壞點有個名字:奇點是曲線無法擁有單一良好定義切線之處。展示廳裡有兩種主要型態。節點是曲線兩度通過同一點並自我相交之處,像「8」字的中心:有兩條切線,而非一條。尖點則是一道尖刺,曲線在此戳成一點再折返,兩條分支共用一條被擠壓在一起的切線。
two famous singularities at the origin (0, 0)
node (a self-crossing) : y^2 = x^2 (x + 1)
near 0 this behaves like y^2 = x^2, i.e. y = x and y = -x
-> two tangent lines through the origin, the curve crosses itself
cusp (a sharp spike) : y^2 = x^3
the two branches y = +sqrt(x^3) and y = -sqrt(x^3)
meet the x-axis tangentially -> one repeated tangent, a spike
何必為這些罕見的壞點操心?因為奇點正是最深刻的理論或者崩潰、或者變得有趣之處,而且你能機械地偵測它們。這個檢驗——等你手握多變數微積分後便會充分體會——是這樣的:f(x, y) = 0 上的一點是奇點,恰好當兩個偏導數(f 沿 x 方向與沿 y 方向的變化率)在該點同時消失,且 f 本身也在該點為零。只要有一個偏導數不為零,曲線就有清楚的切線,該點便光滑。處處沒有奇點的曲線稱為非奇異或光滑曲線,正是在這類乖巧的曲線上,最乾淨的定理才能毫無附註地成立。
走向射影,好讓計數對得上
現在來談那個逼出下一個想法的麻煩。一條直線與一個圓可以相交於兩點、一點或零點——想想一條直線切過圓、與圓相切、或完全錯過。兩條平行線則處處不相交。這種參差令人惱火:交點的數目老是看運氣與位置而定。解藥正是你在射影幾何裡初遇的那一招。走向射影平面——對每一個方向,添上一個全新的無窮遠點,讓該方向的所有直線都約定在那裡相會。如今平行線會相交——交於它們共有的無窮遠點——而那些逃逸到無窮、或藏進複數裡的失蹤交點,也被重新尋回。
三項誠實的調整,才能讓計數精確,而與其揮手帶過,不如把它們一一點名。其一,在複數上計數,而非僅在實數上:一條直線確實與圓相交於兩點,只是當它在實圖中錯過時,那兩點具有複數座標。其二,在射影平面中工作,好讓無窮遠處的交點也被算進。其三,每個交點都連同它的重數一起計:一條切線觸及曲線之處,應視為兩個重合的點,故算作 2 而非 1。三項約定同時生效,「有時兩個、有時零個」的混亂,便塌縮成一個剛硬的數字。
貝祖定理:次數乘以次數
付清了那三項約定,一條乾淨得驚人的法則便現身。貝祖定理說:在複射影平面中,一條 m 次曲線與一條 n 次曲線,恰好相交於 m 乘以 n 個點,連同重數一起計。這就是定理的全部內容。兩條直線(一次與一次)相交於 1 乘 1 = 1 個點——如今連平行的也算,交於無窮遠。一條直線與一條圓錐曲線(一次與二次)相交於 2 點;一條直線與一條三次曲線交於 3 點;兩條圓錐曲線(二次與二次)交於 4 點;兩條三次曲線交於 9 點。那參差的現實計數——有時兩個、有時零個——從來都不是真相。真相是次數的乘積,永遠如此;只要你尊重那三項約定,便毫無例外。
- 從每個多項式中最高的總冪次,讀出兩個次數 m 與 n。
- 移到複射影平面,好讓那些複數的或位於無窮遠的交點不致遺失。
- 每個交點連同重數一起計——一次相切算作 2,更高階的接觸算得更多。
- 總數恰為 m 乘 n;若你看到的實點較少,其餘的便是複數的、在無窮遠處的、或藏在某次相切之內。
貝祖定理也解釋了一個你不加證明就一直在用的事實。圓錐曲線的次數為 2,其一般方程式有六個係數——但把它們全乘上一個常數,得到的是同一條曲線,所以真正待定的只有五個自由比值。圓錐曲線每必須通過一點,便對那些比值施加一個線性條件。因此,一般位置上的五個點,恰好決定唯一一條圓錐曲線,這正是五點決定一條圓錐曲線的含義。次數主宰了條件的數目,正如它主宰了交點的數目——同一個數字身兼二職,這正是那種令代數幾何不像一袋雜技、而更像一部單一深邃機器的統一性。
你帶往前方的收穫
請誠實看待這一切的範圍。我們陳述了貝祖定理並使它可信,但一個完整的證明——嚴格地釘住重數、並證明那個計數從不動搖——所需的機器(結式,或多項式理想的代數)住在這個入門階之外。這毫不可恥;這正是真正數學的常態,一個乾淨的陳述往往倚在深厚的基礎之上。你如今真正擁有的,是那個想法:次數即天命,奇點是需提防的例外,而射影—複數—重數這三位一體,正是換得一個終於守規矩的計數所付的代價。
這種看待幾何的代數觀點,並非博物館裡的陳列品。那些沒有奇點的三次曲線,在適當的數系上觀之,便是橢圓曲線——正是當代密碼學核心、以及懷爾斯證明費馬最後定理時所用的同一批物件。這裡點到的代數簇,是當代代數幾何的日常語言,而代數幾何是數學中最活躍的領域之一。至於本階接下來的幾篇導引,則轉向另一道現代前沿——凸性與多胞形,再到在電腦之中所做的幾何,在那裡,曲線與點化為資料,而定理化為演算法。