搜尋課程與筆記

搜尋筆記

輸入主題、關鍵字或單元編號,例如 Flow Matching、U4。

    按 Esc 關閉 · ⌘ / Ctrl K 開啟搜尋

    M2.0 10 分鐘閱讀 2026年10月

    M2.0 河面上的箭頭:Vector Field 與 ODE

    本篇重用1 篇

    一條河與一片葉子

    你站在橋上往下看。靠岸的水流慢,中間快;過了橋墩以後往左彎,再往前又擺回來。假設有一張「水流地圖」,告訴我們接下來一分鐘裡,每個位置、每個時刻的水往哪裡流、流多快。只有此刻的一張照片還不夠,因為後來的水流可能改變。

    現在你把一片葉子輕輕放在腳下的水面上。一分鐘後,它會在哪裡?

    最自然的想法是順著箭頭走:到了新位置,再看那裡的箭頭。不過,這條規則真的會決定一條路嗎? 如果在同一位置、同一時刻放兩片葉子,它們會走出相同的軌跡嗎?先把「順著箭頭」寫清楚,才有辦法檢查。

    課堂提問Q1

    把這個情境翻成數學問題。「水流地圖」是什麼樣的數學物件?「葉子的位置」是什麼?「順著箭頭走」要怎麼寫成一條式子?

    先想一想,再展開看整理後的答案

    最直覺的說法是「地圖是一堆箭頭」,這已經抓到了一半。往下把它寫精確:

    水流地圖是一個函數。 河面上每個位置 x∈R2x\in\mathbb R^2,在時刻 tt,對應一支箭頭 v(x,t)∈R2v(x,t)\in\mathbb R^2——方向是水流方向,長度是流速。這樣「把位置對到向量」的函數叫做 vector field(每點一支箭頭的場)。如果水流不隨時間改變,就寫 v(x)v(x),叫 autonomous(不依賴時間)。

    葉子的位置是一條隨時間變化的曲線 x(t)∈R2x(t)\in\mathbb R^2,x(0)x(0) 是你放葉子的地方。

    「順著箭頭走」是說:葉子此刻的速度,等於它所在位置的水流。 速度是位置對時間的導數,所以

    x˙(t)=v(x(t),t),x(0)=x0.\dot x(t)=v\big(x(t),t\big),\qquad x(0)=x_0 .

    這就是一條 ODE(ordinary differential equation:只對一個變數 tt 微分的方程式)加上一個初始條件。我們想知道的量是 x(60)x(60)——一分鐘後的位置。注意這裡沒有隨機變數:水流地圖給定、起點給定,葉子的路徑是被決定的。這是這個 class 叫 deterministic 的原因;有亂流的河留給下一個 class。

    一張地圖,一條路

    想像水流地圖是一張畫滿短箭頭的紙,葉子是一支筆尖。筆尖落在某一點,就沿著那點的箭頭滑一小段,到了新位置再看新位置的箭頭,再滑一小段。把「一小段」縮到無限小,筆畫出來的線就是葉子的軌跡。

    軌跡的切線應該等於當地的速度箭頭。但「每一點只有一支箭頭」還不足以保證解唯一,連續也不夠;我們需要限制相鄰位置的箭頭能差多少。

    水流 vector field 與兩片葉子的 ODE 軌跡。

    圖:軌跡的切線處處等於當地向量;Lipschitz 場中,同一起點只有一條路。

    存在、唯一、不交叉

    定義。 一個 vector field 是函數 v:Rd×[0,T]→Rdv:\mathbb R^d\times[0,T]\to\mathbb R^d。給定 x0x_0,ODE 初值問題是找一條可微曲線 x(t)x(t) 滿足 x˙(t)=v(x(t),t)\dot x(t)=v(x(t),t) 且 x(0)=x0x(0)=x_0。這樣的 x(⋅)x(\cdot) 叫這個初值問題的解,也叫從 x0x_0 出發的 trajectory(軌跡)。

    定理(Picard–Lindelöf,只講結論)。 如果 vv 對 tt 是 continuous 的,並且對 xx 是 Lipschitz 的——存在常數 LL 使得對所有 x,y,tx,y,t 都有 ∥v(x,t)−v(y,t)∥≤L∥x−y∥\|v(x,t)-v(y,t)\|\le L\|x-y\|(相鄰兩點的箭頭差,不超過距離的 LL 倍)——那麼對每個 x0x_0,解存在且唯一,至少在一小段時間內;若 vv 的成長不超過線性,解可以延伸到整段 [0,T][0,T]。

    Lipschitz 的意思是:input 離得越近,output 也不會突然差太多。 Jacobian 有界的場滿足這個條件。把 ODE 改寫成 x(t)=x0+∫0tv(x(s),s) dsx(t)=x_0+\int_0^t v(x(s),s)\,ds,右邊就成了「由一條猜測曲線產生另一條曲線」的操作。在長度為 hh、且 hL<1hL<1 的短區間上,兩條曲線的最大差距每次至多乘上 hLhL,因此反覆操作會收斂到唯一的解。這是 Picard–Lindelöf 定理的證明思路 [1–3]。

    推論(軌跡不交叉)。 設 x(⋅)x(\cdot)、y(⋅)y(\cdot) 都是同一個 ODE 的解。若存在某時刻 ss 使 x(s)=y(s)x(s)=y(s),則 x(t)=y(t)x(t)=y(t) 對所有 tt 成立。

    證明只要三行:把 ss 當成新的起始時刻,xx 與 yy 都是「從 x(s)x(s) 出發」這個初值問題的解;唯一性說這樣的解只有一條;所以它們是同一條。(往前與往後都成立,因為把時間反向 t↦−tt\mapsto -t 之後 −v-v 仍然 Lipschitz。) □\square

    「不交叉」指的是兩條不同的解不能在同一個 (x,t)(x,t) 相遇後再分開。它們仍可能在不同時刻經過同一位置。對 autonomous 的場,這種相遇表示它們走的是同一條空間路線,只是時間進度不同;不能說兩個不同起點畫出的線一定沒有共同部分。

    展開細節唯一性失效的例子:ẋ = x^(1/3),x(0) = 0

    這個場在原點不是 Lipschitz 的:x^(1/3) 的斜率在 0 附近趨近無限大。結果從 x(0)=0 出發至少有兩條解:x(t) ≡ 0,以及 x(t) = (2t/3)^(3/2)。直接代入驗證第二條:d/dt (2t/3)^(3/2) = (3/2)(2t/3)^(1/2)·(2/3) = (2t/3)^(1/2) = x^(1/3)。事實上還有無限多條:先在 0 停留任意久、再開始沿第二條走,也都是解。這就是「同一個位置放兩片葉子卻漂去不同地方」的數學版本。

    另一個常見的失效是「解在有限時間內跑到無限遠」:ẋ = x²,x(0)=x₀>0 的解是 x(t) = 1/(1/x₀ − t),在 t = 1/x₀ 時爆掉。這裡 Lipschitz 只在每個有界區域內成立(局部 Lipschitz),所以只保證短時間內的存在唯一。

    直覺對了,但要說出條件

    在存在唯一的條件下,起點與水流地圖會決定 x(60)x(60)。電腦算出的折線則只是近似;還要使用一致、穩定的 numerical method,才能在步長縮小時逼近這條解。

    也要分清楚兩件事:LL 很大仍然可以保證唯一,只是相近起點的差距可能有較大的傳播上界;不滿足 Lipschitz 則是這個定理不能使用,並不自動表示解不唯一。下面的例子才具體展示了非唯一解。

    動手放葉子

    用電腦「順著箭頭走」最簡單的做法,就是把上面「滑一小段」的畫面直接寫成程式:每隔 hh 秒看一次箭頭,往那個方向走 h⋅vh\cdot v。

    import numpy as np
    def u(x, t):                     # 水流地圖:往右流,上下擺動
        return np.array([1.0, 0.5*np.cos(x[0])])
    def drift(x0, T=60.0, h=0.1):
        x, t = np.array(x0, float), 0.0
        while t < T - 1e-12:
            x = x + h*u(x, t); t += h
        return x
    print(drift([0.0, 0.0]))          # 應接近 (60, 0.5*sin 60)

    這個場有 closed form 解 x(t)=tx(t)=t、y(t)=0.5sin⁡ty(t)=0.5\sin t(自己代入檢查:y˙=0.5cos⁡t=0.5cos⁡x\dot y=0.5\cos t=0.5\cos x),所以可以對答案。hh 縮小十倍,數值解與 closed form 解的差距也大約縮小十倍——這個「差距怎麼隨 hh 縮小」的規律,本 class 後面兩篇會精確算出來。

    檢查理解

    想一想

    假設接下來一分鐘的風場完全已知、滿足存在唯一的條件,氣球也完全隨風飄。下面哪個描述最貼切?

    想一想

    某條河的水流地圖是 v(x)=(1, sign(y)∣y∣)v(x)=(1,\,\mathrm{sign}(y)\sqrt{|y|})。你在中線 y=0y=0 上放兩片葉子。下面哪個說法對?

    想一想

    一個 autonomous 的 Lipschitz vector field,兩條解在不同時刻經過同一個位置。可以推出什麼?

    參考文獻

    1. Strogatz, S. H. Nonlinear Dynamics and Chaos: With Applications to Physics, Biology, Chemistry, and Engineering. Westview Press, 2nd ed., 2015.(第 2、6 章:一維與二維 vector field 的幾何直覺,存在唯一定理的結論式陳述。)
    2. Hirsch, M. W., Smale, S., Devaney, R. L. Differential Equations, Dynamical Systems, and an Introduction to Chaos. Academic Press, 3rd ed., 2013.(第 7 章:Picard–Lindelöf 的完整證明。)
    3. Hairer, E., Nørsett, S. P., Wanner, G. Solving Ordinary Differential Equations I: Nonstiff Problems. Springer, 2nd ed., 1993.(第 I 章:存在唯一定理與數值方法的共同起點。)