JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

徒手勾勒相圖

你現在手上已備齊所有零件——向量場、平衡點、四種局部類型、跡-行列式平面。本篇收官指南把它們串成一套可重複的流程,讓你徒手勾勒一個平面系統的整幅相圖,完全不必求解。

從四項技能到一幅圖

在這個階段裡,你已蒐集了四項各自獨立的技能。第 1 篇教你把平面系統 x' = f(x, y)、y' = g(x, y) 讀作一個速度向量場軌跡順著箭頭穿行。第 2 篇定位了平衡點,並指出在每一點附近你都可以用雅可比矩陣線性化。第 3 篇為四種局部圖像命名——節點、鞍點、螺旋、中心——而第 4 篇把它們收進跡-行列式平面,於是兩個數字就能為線性行為分類。這篇收官指南不引入任何新理論。它把那四項技能熔接成一套徒手流程。

既然電腦一秒就能畫出無瑕的向量場,何必徒手勾勒?因為大多數非線性系統根本沒有封閉形式的解——定性圖像往往是你*唯一*能得到的答案。一張好的手繪草圖讓你預知會發生什麼、捕捉到數值繪圖可能跨過的平衡點,並培養出讓你能批判地解讀電腦輸出、而非盲目相信它的直覺。目標不是一張漂亮的圖;而是一眼看懂每條軌跡的長期命運。

六步流程

把整套方法寫成一份排序好的檢查清單如下。每道題都從上往下逐步執行;每一步都把下一步所需的東西恰好交到手上。接著我們會用一個具體例子走完全部六步。

  1. 找出平衡點。令 x' = 0 與 y' = 0 同時成立並求解。這些不動點是整幅圖的骨架。
  2. 畫出零斜線。x-零斜線是曲線 f(x, y) = 0(那裡箭頭垂直);y-零斜線是 g(x, y) = 0(那裡箭頭水平)。它們恰好相交於平衡點,並把平面切成箭頭方向確定的區域。
  3. 在每個區域標出流動方向。每個區域挑一個好算的試驗點,算出 x' 與 y' 的正負號,畫一個小箭頭(右/左、上/下)。這就是粗略的整體流動。
  4. 為每個平衡點分類。在該點計算雅可比矩陣,再讀出它的跡與行列式。在跡-行列式平面中定位該點以命名它:節點、鞍點、螺旋或中心。
  5. 在每個平衡點加上局部細節。對節點或鞍點,畫出特徵向量方向(直線解)與沿著它們的流入/流出箭頭。對螺旋,定下旋轉的方向;對中心,畫一個小的封閉迴圈。
  6. 把局部圖像連成整體軌跡。畫出順從區域箭頭、正確地離開或趨近每個平衡點、且彼此絕不相交的平滑曲線。結果就是相圖。

一個範例:一對競爭者

取系統 x' = x(3 - x - 2y)、y' = y(2 - x - y),一個簡單的競爭模型,x, y >= 0。執行流程。第 1 步,平衡點:x' = 0 給出 x = 0 或 3 - x - 2y = 0,y' = 0 給出 y = 0 或 2 - x - y = 0。兩兩配對得到四個不動點:(0, 0)、(3, 0)、(0, 2),以及內部交點 (1, 1)。第 2 步,零斜線是直線 x = 0、3 - x - 2y = 0(屬於 x')與 y = 0、2 - x - y = 0(屬於 y')——畫出這四條線,四個平衡點就坐落在它們的交點上。

第 3 步,測試各區域。在像 (0.1, 0.1) 這樣的微小點上,x' 與 y' 都為正,所以那裡的流動指向右上方——遠離原點。第 4 步,用雅可比矩陣 J = [3 - 2x - 2y, -2x; -y, 2 - x - 2y] 分類。在 (0, 0) 它是 [3, 0; 0, 2]:跡為 5、行列式為 6,兩個特徵值皆正——一個不穩定的[[node|節點]](源)。在 (3, 0):[-3, -6; 0, -1],一個穩定節點。在 (0, 2):[-1, 0; -2, -2],也是穩定節點。在內部點 (1, 1):J = [-1, -2; -1, -1],跡為 -2、行列式為 1 - 2 = -1 < 0——負的行列式,正是[[ode-saddle-point|鞍點]]錯不了的標記。

equilibrium     trace   det     type
  (0, 0)            5       6     unstable node (source)
  (3, 0)           -4       3     stable node
  (0, 2)           -3       2     stable node
  (1, 1)           -2      -1     saddle  (det < 0)
每個平衡點兩個數字——跡與行列式——便透過跡-行列式平面定下局部類型。(1, 1) 的負行列式立刻標示出鞍點。

第 5 與第 6 步把故事收尾。原點把一切往外推;兩個單物種點 (3, 0) 與 (0, 2) 各自把鄰近的軌跡拉進來。(1, 1) 的鞍點是裁判:它的兩個穩定方向構成一條曲線——分界線(separatrix)——把第一象限劈成兩個吸引域。從分界線上方出發,你會漂向 (0, 2);從下方出發,你會落到 (3, 0)。把區域箭頭連成平滑且不相交的曲線,整個生物學故事便浮現:在這場競爭中,總有一個物種勝出,而是哪一個,取決於你從何處出發。

誠實的限度:線性草圖何時會騙人

用雅可比矩陣分類這一步,立基於一個有真實附帶條款的真定理。[[hartman-grobman-theorem|哈特曼-格羅布曼定理]]保證:在平衡點附近,非線性流動看起來恰如它的線性化——*前提是*該平衡點是雙曲的,意即沒有任何特徵值的實部為零。對雙曲的節點、鞍點與螺旋,你的線性草圖值得信賴。危險情形是[[center|中心]]:當線性化預測出中心(純虛特徵值、跡恰為零)時,你丟掉的那些非線性項可以把它推向任一邊——變成緩慢向內的螺旋、緩慢向外的螺旋,或一個真正的中心。線性草圖確實無從定奪。

再兩個誠實的提醒。其一,雅可比矩陣只告訴你*局部*圖像;它對那些活在大尺度上的特徵毫無交代,例如一條遠離原點、環繞著某個螺旋的閉軌道(極限環)。整體結構必須另行論證。其二,線性化做分類,卻不定方向——線性鞍點與線性節點都附帶特徵向量方向,但唯有特徵值的*正負號*才告訴你是流入還是流出。務必把正負號的資訊一路帶著走;一個畫得再漂亮但箭頭反了的節點,就是錯的。

讓草圖可信的好習慣

幾條紀律把一張可靠的相圖和一張一廂情願的塗鴉區分開來。軌跡絕不相交。因為系統是自治的,每一點的速度是單值的,所以兩條相異軌跡不能穿過同一點——若你的曲線在平衡點以外任何地方相交,你就出錯了。平衡點是軌跡在有限範圍內唯一能起始或終結之處;其他地方每條曲線都持續移動。而且曲線上的箭頭和曲線本身一樣重要:鞍點的穩定方向與不穩定方向若不加標記看起來一模一樣,唯有箭頭才能區分它們。

倚靠一致性檢查,而非精確度。你的跡-行列式分類、你的零斜線箭頭、你的特徵向量方向,描述的都是*同一個*流動,所以它們必須彼此相符——若某點分類為穩定節點,但周圍區域的箭頭卻向外指,就回頭去某處重新核對一個正負號。別在意確切的曲率或比例;相圖是一個*定性*的對象,它所回答的問題(哪個平衡點勝出、它穩不穩定、會螺旋或振盪嗎)能在任何誠實的拉伸下存活。把結構畫對,幾何就可以鬆散。

這就是整個階段,一氣呵成。平衡點給出骨架,零斜線與試驗點給出整體流動,雅可比矩陣與跡-行列式平面為每個局部類型命名,而你把局部縫成一個整體故事——並誠實地把中心及其他臨界情形標記為待解的問題。你現在能看著幾乎任何一個平面自治系統,不必解任何一條方程,就說出它在哪裡安定、什麼在振盪、長期下來會如何。那份定性的流暢,正是接下來關於非線性穩定性與分岔的階段所要建立其上的基礎。