Functional Equation

引言

真實世界的物理現象,物理學家習慣寫成函數方程式。想要用電腦模擬真實世界,設計函數方程式、解函數方程式是必備技能。

比方說,記錄物體所在位置。根據人類目前所知,物體不會分身,不會同時出現在兩個位置,符合函數的概念;物體不會瞬移,不會瞬時出現在遙遠位置,符合連續的概念。因此物體所在位置可以表示成一個連續函數x(t),簡寫成x。

數學家創造了函數、連續,主要是為了符合人類認知。如果影分身之術、飛雷神之術成真,那麼數學家勢必要創造其他數學元件,以符合新認知。

位置的變化多寡,稱作速度,符合微分的概念。因此物體當前速度可以表示成d/dt x(t),簡寫成x′。

物理課教過等速運動。物體速度是40,可以列出等式x′ = 40。大家把40視作一個函數,而非一個實數。

速度也可以忽快忽慢。自訂速度v,可以列出等式x′ = v。

速度的變化多寡,稱作加速度,符合二次微分的概念。因此物體當前加速度可以表示成 d²/dt² x(t),簡寫成x″。

物理課教過等加速度運動。自由落體,加速度是重力加速度g,g是一個常數約9.8,可以列出等式x″ = -g。如果又有空氣阻力f,得到加速度a = f/m,可以列出等式x″ = -g + f/m。

加速度也可以不斷變化。彗星撞地球,加速度是引力加速度g = -Gm₁m₂ / r²,G是萬有引力常數約6.7e-11,m₁ m₂是質量,r是距離。地心座標定成0,可以列出等式x″ = -Gm₁m₂ / x²。

我們的目標就是解x,知道物體的所在位置。

Functional Equation

方程式:已知數、未知數全是實數。實數運算有加減乘除。

x² + 2xy + 2y = 1

函數方程式:已知數、未知數全是函數。函數運算有加減乘除微積代入複合。

                d            g(x+2)
∫ f(x) dx + 2 = ―― f(g(x)) + ――――――
                dx            f(x)

函數方程式當中的實數,其實是函數,稱作「常數函數」。

Functional

函數:輸入、輸出全是實數。

f(x, y) = x² + 2xy + 2y - 1

泛函數:輸入、輸出全是函數。函數的函數。

                                d            g(x+2)
L(f(x), g(x)) = ∫ f(x) dx + 2 - ―― f(g(x)) - ――――――
                                dx            f(x)

我不清楚數學家為何故意讓「泛函數(名詞)」跟「函數的(形容詞)」撞名。

符號解、數值解

方程式的解,區分為符號解、數值解。

符號解外觀宛如公式、宛如定律,深受數學家喜愛。

操作科學計算軟體、查閱工程數學書籍,推導符號解。

solve ax² + bx + c = 0   |  solve f + f′ = 0
          _________      |
    -b ± V b² - 4ac      |          -x
x = ―――――――――――――――      |  f(x) = e
          2a             |

數值解外觀宛如陣列、宛如資料,深受計算學家喜愛。

操作數值模擬軟體、查閱數值分析書籍,演算數值解。

solve 3x² + 12x + 8 = 0  |  solve f + f′ = 0
x = -0.7790              |  f(x) = [7.4, 2.7, 1.0, 0.4, 0.1]

古代沒有計算機,古人只找符號解。導致數學課本只教符號解,不教數值解。大部分的方程式,沒人知道符號解,只好改找數值解。

符號解計算工具如Symbolab。數值解計算工具如sundials

符號解的詳細分類

符號組成式子,式子細分為代數式、閉合式、解析式、……。大家口語上不說符號解,而是說代數解、閉合解、解析解、……。

algebraic solution:只有四則運算。
closed-form solution:包含以上項目,而且多了三角函數。
analytic solution:包含以上項目,而且多了無窮級數。

許多方程式已被證明不存在代數解、閉合解、解析解、……。

Kepler's Equation:橢圓軌道運動,已知座標位置(x,y),求時刻t,沒有閉合解。
Bézier Curve:加權平均值曲線,已知座標位置(x,y),求參數t,沒有閉合解。

Differential Equation

Differential Equation

「微分方程式」。函數方程式,只有四則運算、微分運算。

           d 
f(x) + 2 = ―― f(x) + 2 g(x)
           dx

符號解數學公式

微分等於零。解是任意的常數函數。

d
―― f(x) = 0     --->   f(x) = c
dx

微分等於原本函數。解是ex。原理是ex微分之後還是ex

d                              x
―― f(x) = f(x)  --->   f(x) = e
dx

數學家以此為基礎,讓方程式漸趨複雜,發展各種求解技巧。由於這不是我的專長,就不多提了。

符號解演算法(Least Squares Method)(Regression)

函數方程式重新整理成「泛函數等於零」的格式。

函數方程式。
d
―― f(x) = f(x) + 1
dx

等量減法公理,兩邊同減一樣多的東西。(移項)
d
―― f(x) - f(x) - 1 = 0
dx

整理成泛函數的模樣。
          d
L(f(x)) = ―― f(x) - f(x) - 1
          dx         

省略括號,簡化符號,比較好讀。
L(f) = f′ - f - 1

推定解是自訂函數,係數待求。

assume f(x) = ax² + bx + c     find a,b,c

自訂函數代入泛函數。通常不是零,通常有誤差。

L(f(x)) = (2a + b) - (ax² + bx + c) - 1

平方誤差盡量小:函數每一處的平方,總和盡量小。

-∞累計到+∞,誤差無限大。因此大家只累計一小段區間。

argmin L(f(x)) dot L(f(x))     點積風格
 a,b,c
argmin ∫ L(f(x))² dx           積分風格
 a,b,c

最小值位於一次微分等於零的地方。對各個係數偏微分。

{ ∂/∂a ∫ L(f(x))² dx = 0
{ ∂/∂b ∫ L(f(x))² dx = 0
{ ∂/∂c ∫ L(f(x))² dx = 0

如果積分很難算,可以偷工減料,對輸入取樣。

let x = -2, -1, 0, 1, 2
{ ∂/∂a L(f(-2))² + L(f(-1))² + L(f(0))² L(f(1))² + L(f(2))² = 0
{ ∂/∂b L(f(-2))² + L(f(-1))² + L(f(0))² L(f(1))² + L(f(2))² = 0
{ ∂/∂c L(f(-2))² + L(f(-1))² + L(f(0))² L(f(1))² + L(f(2))² = 0

整件事情宛如迴歸。一筆資料:輸入值、輸出值(零)。迴歸函數:自訂函數代入泛函數。

data: { (-2,0), (-1,0), (0,0), (1,0), (2,0) }
regression function: L(f(x)) = (2a + b) - (ax² + bx + c) - 1

自訂函數可以推廣成自訂函數網路。函數網路末端接上泛函數,即是代入。大量資料拿來訓練函數網路。

https://becominghuman.ai/fa230ac5e04c

https://towardsdatascience.com/37c4e52df128

符號解演算法(Galerkin Method)(Linearization)

推定解是自訂函數的加權總和(基底的線性組合),係數待求。

assume f(x) = w₀ φ₀(x) + w₁ φ₁(x) + w₂ φ₂(x)

再推定泛函數與自訂函數的點積等於零。

可以想成施測。挑選數個函數,進行投影,必須為零。

{ L(f(x)) dot φ₀(x) = 0
{ L(f(x)) dot φ₁(x) = 0
{ L(f(x)) dot φ₂(x) = 0

值得一提的是,線性微分方程式,得到一次方程組,容易求解。

數值解演算法(Euler Method)(Dynamic Programming)

函數方程式離散化,移項整理,得到遞迴公式,依序填值。

d
―― f(x) = f(x) + 1
dx
(f(x) - f(x - Δx)) / Δx = f(x) + 1     1st-order backward derivative
(f[i] - f[i-1]   ) / Δx = f[i] + 1     backward Euler method
f[i] - f[i-1] = f[i] ⋅ Δx + Δx
f[i] - f[i] ⋅ Δx = f[i-1] + Δx
f[i] ⋅ (1 - Δx)  = f[i-1] + Δx
f[i] = (f[i-1] + Δx) / (1 - Δx)        recurrence of f[i]

初始值設定方式。端看右式是否有g[i+1]、h[i+1]。

 initial condition初始條件:下界設定初始值。一維陣列開頭、二維陣列上左。
boundary condition邊界條件:上下界設定初始值。一維陣列頭尾、二維陣列四周。

計算技巧,共三種。自由組合。

1a. forward method        (explicit method)     :取舊值。
1b. backward method       (implicit method)     :取新值。
1c. Crank-Nicolson method                       :半新加半舊。雞肋。
2.  operator splitting                          :分割計算步驟。
3.  symplectic method     (semi-implicit method):更動計算順序。

forward。取舊值。

d/dx f(x) = f(x) + 1   --->   (f[i] - f[i-1]) / Δx = f[i-1] + 1
                                                     ^^^^^^

backward。取新值。不見得能夠移項整理。有時無法使用。

d/dx f(x) = f(x) + 1   --->   (f[i] - f[i-1]) / Δx = f[i] + 1
                                                     ^^^^

operator splitting。項次太多,逐步更新。

d/dx f(x) = 2f(x) + 3g(x)   --->   1. (f[i] - f[i-1]) / Δx = 2 f[i]
                                   2. (f[i] - f[i-1]) / Δx = 3 g[i]

symplectic。式子太多,設定順序。

d/dx f(x) = 2f(x) + 3g(x)   --->   1. (f[i] - f[i-1]) / Δx = 3 g[i]
                                   2. (f[i] - f[i-1]) / Δx = 2 f[i]

收斂條件。必須同時滿足。converge = consistent + stable

consistency condition一致條件:遞迴公式、微分方程式,兩者一致。
  stability condition穩定條件:計算過程當中,函數值震盪範圍變窄或不變。

consistent:當Δx趨近零,遞迴公式與微分方程式相等。取決於微分運算的泰勒展開式。保留越多項,遞迴公式越精準。

另外,很多教科書,將微分方程式的左式的一次微分,預設為一階泰勒展開式。再將一致條件改寫成「truncation error趨近零」。

d/dx f(x) = f(x) + 1       | (f[i] - f[i-1]) / Δx = f[i] + 1
d/dx f(x) - (f(x) + 1) = 0 | (f[i] - f[i-1]) / Δx - (f[i] + 1) = 0

d/dx f(x) - (f(x) + 1) = lim (f[i] - f[i-1]) / Δx - (f[i] + 1) = 0
                         Δx→0

stable:遞迴公式的係數絕對值小於等於1。進一步推導Δx的適當範圍。

想滿足穩定條件,卻被要求不可更動Δx,解法是更換forward和backward。

f[i] = (f[i-1] + Δx) / (1 - Δx)
f[i] = f[i-1] / (1 - Δx) + Δx / (1 - Δx)
f[i] = k ⋅ f[i-1] + c, where k = 1 / (1 - Δx) and c = Δx / (1 - Δx)
f[i] is stable iff |k| ≤ 1
f[i] is stable iff Δx ≥ 2 or Δx ≤ 0

範例

一階微分方程式。forward。

d
―― f(t) = f(t) + 1
dt
(f(t) - f(t-Δt)) / Δt = f(t) + 1
(f[i] - f[i-1]) / Δt = f[i-1] + 1
(f[i] - f[i-1]) = (f[i-1] + 1) ⋅ Δt
f[i] = f[i-1] + (f[i-1] + 1) ⋅ Δt

一階微分方程式。backward。

d
―― f(t) = f(t) + 1
dt
(f(t) - f(t-Δt)) / Δt = f(t) + 1
(f[i] - f[i-1]) / Δt = f[i] + 1
f[i] - f[i-1] = f[i] ⋅ Δt + Δt
f[i] - f[i] ⋅ Δt = f[i-1] + Δt
f[i] ⋅ (1 - Δt) = f[i-1] + Δt
f[i] = (f[i-1] + Δt) / (1 - Δt)

二階微分方程式。forward。

d²         d
――― f(t) = ―― f(t) - f(t)
dt²        dt
(f(t+Δt) - 2f(t) + f(t-Δt)) / (Δt)² = (f(t) + f(t-Δt)) / Δt - f(t)
(f[i+1] - 2f[i] + f[i-1]) / (Δt)² = (f[i] + f[i-1]) / Δt - f[i]
f[i+1] = (2f[i] - f[i-1]) + (f[i] + f[i-1]) ⋅ Δt - f[i] ⋅ (Δt)²
f[i] = (2f[i-1] - f[i-2]) + (f[i-1] + f[i-2]) ⋅ Δt - f[i-1] ⋅ (Δt)²

一階微分方程組。

Lotka-Volterra Equation:
{ d/dt x(t) = 1.1 x(t) - 0.4 x(t) y(t)
{ d/dt y(t) = 0.1 x(t) y(t) - 0.4 y(t)

高階微分方程式。化作各階微分方程組。

d³           d²           d                   
――― f(t) = 6 ――― f(t) + 7 ―― f(t) + 8 f(t) + 9
dt³          dt²          dt                  
錯誤方式
{ f  = f                              [f ]   [ 0 1 0 0 ] [1 ]
{ f′ = f′                             [f′]   [ 0 0 1 0 ] [f ]
{ f″ = f″                      --->   [f″] = [ 0 0 0 1 ] [f′]
{ f‴ = 6f″ + 7f′ + 8f + 9             [f‴]   [ 9 8 7 6 ] [f″]

正確方式
{ (f )′ = f′                          { f₀′ = f₁
{ (f′)′ = f″                   --->   { f₁′ = f₂
{ (f″)′ = 6f″ + 7f′ + 8f + 9          { f₂′ = 6f₂ + 7f₁ + 8f₀ + 9

一階偏微分方程式。forward。

Advection Equation:
∂                 ∂        
―― f(t,x) = -0.4  ―― f(t,x)
∂t                ∂x       
(f(t,x) + f(t-Δt,x)) / Δt = -0.4 ⋅ (f(t,x) - f(t,x-Δx)) / Δx
(f[i][j] + f[i-1][j]) / Δt = -0.4 ⋅ (f[i-1][j] - f[i-1][j-1]) / Δx
f[i][j] = f[i-1][j] - 0.4 ⋅ (f[i-1][j] - f[i-1][j-1]) ⋅ Δt / Δx
f[i][j] = f[i-1][j] - k ⋅ (f[i-1][j] - f[i-1][j-1])
where k = 0.4 ⋅ Δt / Δx

一階偏微分方程式。forward。

Heat Equation:
∂                   ∂²             ∂²
―― f(t,x,y) = 0.1 ( ――― f(t,x,y) + ――― f(t,x,y) )
∂t                  ∂x²            ∂y²
離散化:右邊版本的微分、中間版本的laplace。方便起見Δx = Δy,兩項合併。
(f[t+1][x][y] - f[t][x][y]) / Δt = 0.1 ⋅ (f[t][x][y+1] + f[t][x][y-1]
+ f[t][x+1][y] + f[t][x-1][y] - 4 ⋅ f[t][x][y]) / Δx / Δy

以時間當作主軸:左式是t+1,右式是t。
f[t+1][x][y] = f[t][x][y] + 0.1 ⋅ (f[t][x][y+1] + f[t][x][y-1]
+ f[t][x+1][y] + f[t][x-1][y] - 4 ⋅ f[t][x][y]) / Δx / Δy ⋅ Δt 

兩個陣列輪流使用。
fnext[x][y] = f[x][y] + 0.1 ⋅ (f[x][y+1] + f[x][y-1]
+ f[x+1][y] + f[x-1][y] - 4 ⋅ f[x][y]) / Δx / Δy ⋅ Δt 

簡寫成k和laplace,比較清爽。
fnext[x][y] = f[x][y] + k ⋅ laplace(f[x][y])
where k = 0.1 ⋅ Δt / Δx / Δy

一階偏微分方程式。backward。

Heat Equation:
∂                   ∂²             ∂²
―― f(t,x,y) = 0.1 ( ――― f(t,x,y) + ――― f(t,x,y) )
∂t                  ∂x²            ∂y²
取新值。
fnext[x][y] = f[x][y] + k ⋅ laplace(fnext[x][y])

移項整理,新值通通挪至左式。
fnext[x][y] = f[x][y] + k ⋅ (sum - 4 fnext[x][y])
(1 + 4k) fnext[x][y] = f[x][y] + k ⋅ sum
(1 + 4k) fnext[x][y] - k ⋅ sum = f[x][y]

一次方程組 A fnext = f,已知 A 和 f,求解 fnext。
心裡邊想想就好,不必真的去建立超大稀疏矩陣、超大向量。
採用不動點遞推法,得到遞推更新式子。
fnext[x][y] = (f[x][y] + k ⋅ sum) / (1 + 4k)

數值解演算法(Runge-Kutta Method)

https://math.stackexchange.com/questions/528856/

取幾處斜率,求加權平均。從原處斜率開始,遞推下一處斜率。採用線狀遞推,不採用網狀遞推,事情比較簡單。

斜率數量、斜率地點、權重大小,可以自由設定,但是必須滿足一致條件、滿足泰勒展開式。

經典的設定方式是RK4。取四處斜率:原處、半步、半步、一步。其四個權重:1/6、1/3、1/3、1/6。

一階微分方程組可以畫成圖形

time series graph   函數曲線。以時間為主軸。
gradient field plot 移動速度。(dx/dt, dy/dt)向量場。
phase portrait      移動路線。初始條件(x₀,y₀)沿著向量場跑。

微分方程式的分類:數學家的觀點

微分方程式分為兩類。一、常微分方程式:對同一種變數進行微分。二、偏微分方程式:對多種變數進行微分。

Ordinary Differential Equation, ODE:

             ∂             ∂  ∂ 
f(x,y) + 2 = ―― f(x,y) + 3 ―― ―― f(x,y) + 2 g(x,y)
             ∂x            ∂x ∂x

        ∂f     ∂²f
f + 2 = ―― + 3 ――― + 2g     省略括號的部分、合併多次微分的部分
        ∂x     ∂x²

f + 2 = Dxf + 3Dxxf + 2g    微分簡寫成 Dxf Dxxf (Euler)

f + 2 = fx + 3fxx + 2g      微分簡寫成 fx fxx   (???)

f + 2 = f′ + 3f″ + 2g       微分簡寫成 f′ f″    (Lagrange)

f + 2 = ḟ + 3f̈ + 2g         微分簡寫成 ḟ f̈      (Newton)
Partial Differential Equation, PDE:

             ∂             ∂  ∂ 
f(x,y) + 2 = ―― f(x,y) + 3 ―― ―― f(x,y) + 2 g(x,y)
             ∂x            ∂x ∂y

        ∂f     ∂²f
f + 2 = ―― + 3 ――― + 2g     省略括號的部分、合併多次微分的部分
        ∂x     ∂xy

f + 2 = Dxf + 3Dxyf + 2g    微分簡寫成 Dxf Dxyf

f + 2 = fx + 3fxy + 2g      微分簡寫成 fx fxy

微分方程式分為兩類。一、線性:僅由「函數微分的加法」、「函數微分的倍率」組成的方程式。二、非線性。

線性微分方程式,可以推導符號解(分離變數法、格林函數)、演算數值解(時域一次方程組、頻域傅立葉轉換)。非線性微分方程式,則是數學界的大難題,至今只有少數特例找到了符號解。

Linear Differential Equation:

      ∂f     ∂f     ∂²f      ∂²f     ∂²f
f + 2 ―― + 3 ―― + 5 ―――― + 7 ――― + 9 ――― = 0
      ∂x     ∂y     ∂x∂y     ∂x²     ∂y²
Nonlinear Differential Equation:

       ∂f   ∂f ∂f
f² + f ―― + ―― ―― + 2 = 0 
       ∂x   ∂x ∂y

微分方程式分為兩類。一、單變量函數。二、多變量函數:多了梯度、散度、旋度。

Univariate Function:

      ∂f     ∂f     ∂²f      ∂²f     ∂²f
f + 2 ―― + 3 ―― + 5 ―――― + 7 ――― + 9 ――― = 0
      ∂x     ∂y     ∂x∂y     ∂x²     ∂y²
Multivariate Function:

  ∂Fx   ∂Fy          ∂Fy   ∂Fx 
( ――― + ――― ) Fx + ( ――― - ――― ) Fy = 0 
  ∂x    ∂y           ∂x    ∂y  

微分方程式計算技巧:數學家的觀點

遞迴公式,必須滿足收斂條件。

boundary condition:確保唯一解
convergence condition:確保收斂至唯一解

遞迴公式,可以整體積分,調整階數。

Finite Difference Method:使用原本的微分方程式(跟「離散化函數微分」撞名)
Finite Volume Method:使用微分方程式的積分

遞迴公式的右式,微分運算的泰勒展開式可以多取幾項,函數點可以多取幾個。

Linear Multistep Method:參考先前幾個函數點
Runge-Kutta Method:預測之後幾個函數點

邊界條件的分類:數學家的觀點

微分方程式有多解。

一、常數函數,微分通通是零,答案很多種。
二、散度旋度運算,好比a + b = 1,答案很多種。

追加邊界條件,以得到唯一解。

1. Initial Condition              指定解的某處的函數值、函數梯度值、……
2. Boundary Condition             指定解的邊界輪廓,以及邊界的
 (1) Dirichlet Boundary Condition 函數值
 (2) Neumann Boundary Condition   函數梯度值(的法線分量)
 (3) Cauchy Boundary Condition    上述兩者
 (4) Robin Boundary Condition     上述兩者的加權總和
函數值:確保解的零次項(常數項)、一次項、二次項、……。得到唯一解。
函數梯度值:確保解的一次項、二次項、……。得到唯一解,除了常數項。

我們通常只關心一小段範圍,而不是從負無限大到正無限大。此時更需要邊界條件。

Differential Equation: Laplacian

經典的微分方程式:Laplacian

全是人名,紀念古人。

Laplace Equation    ∆f = 0          fxx + fyy + fzz = 0
Poisson Equation    ∆f = g          fxx + fyy + fzz = g
Helmholtz Equation  ∆f = λf         fxx + fyy + fzz = λf

Laplace Equation / Poisson Equation

梯散反運算。已知梯散g,求得原函數f。

符號解:格林函數疊加而得。

數值解:擁有特殊演算法。時域一次方程組、頻域傅立葉轉換。

Helmholtz Equation

梯散運算的特徵函數f。特徵函數是各種頻率的cos和sin波。

符號解:f(x) = ei√λ‖x‖ / 4π‖x‖。

eigenvectors of Laplace matrix:
0x sin1x cos1x sin2x cos2x ... sin½nx     (ascending order)

eigenvalues of Laplace matrix:
{ 2sin²( π⋅floor(k/2)/n )   k = 2...n     (ascending order)
{ 0                         k = 1

Differential Equation: Transport

經典的微分方程式:Transport

引入了空間變數、時間變數,以解釋物理現象。

Heat Equation       ∆f = d/dt f     fxx + fyy + fzz = ft
Wave Equation       ∆f = d²/dt² f   fxx + fyy + fzz = ftt
Advection Equation  ∇·f = d/dt f    fx + fy + fz = ft

Heat Equation(Diffusion Equation)

∆f = df/dt,位勢差等於變化速度。

v∆f = df/dt,添上擴散速度v。

符號解:f(x) = e-x²/4t / √t。稱作Heat Kernel。

Wave Equation

∆f = d²f/dt²,位勢差等於加速度。位勢差產生彈簧力,彈簧力產生加速度。

v²∆f = d²f/dt²,添上傳播速度v,有如彈性係數。

方程式重新整理成:時間微分的特徵函數、空間二次微分的特徵函數。解是兩者聯立,稱為特徵模態(Eigenmode)。物理意義:駐波。

一維空間的符號解:特徵模態f(x,t) = a sin(x+vt) + b sin(x-vt),其中a與b取決於初始條件。物理意義:兩個波,振幅a與b,往反方向傳播,疊加之後形成駐波。

二維空間的符號解:取決於空間造型(邊界條件)。除了少數特殊造型,沒人知道符號解。

一維琴弦振動直線線段
二維薄膜振動方形圓形L形
三維固體振動:懸臂梁H型鋼平板

Advection Equation

∇·f = d/dt f,空間轉移量等於時間變化量。

∇·(fv) = d/dt f,添上每一處的轉移速度v。

符號解:f(x,t) = e-(x+t)²。【尚待確認】

若是封閉環境,物質和能量只會循環不會逸散,此時大家將平流Advection改稱對流Convection。日常生活幾乎都是封閉環境,幾乎都是對流;除非你的鑽頭可以突破天際,才有機會遇到平流。

Differential Equation: Glow

經典的微分方程式:Glow

引入了合體技的概念。

Advection Equation                      d/dt f = ∇·f
Diffusion Equation                      d/dt f = ∆f
Advection-Diffusion Equation            d/dt f = ∆f + ∇·f
Reaction-Diffusion Equation             d/dt f = ∆f + R(f)
Reaction-Diffusion-Advection Equation   d/dt f = ∇·f + ∆f + R(f)

Reaction-Diffusion-Advection Equation

各式各樣的參數,各式各樣的造型,造就大自然。

Differential Equation: Flow(Under Construction!)

經典的微分方程組:Flow

引入了物理元件。

Continuity Equation        d/dt ρ + ∇·(ρu) = 0  | ∇·u = 0  
Momentum Conservation      ∇·(ρu⊗u) + ∇p = 0   | ∇·(u⊗u) + ∇p = 0
Euler's Equation           { ∇·u = 0             
                           { ∇·(u⊗u) + ∇p = 0   質量守恆+動量守恆
Continuity Equation        d/dt ρ + ∇·(ρu) = 0   =>   ∇·u = 0  質量守恆
Cauchy Momentum Equation   d/dt u + ∇·(u⊗u) + ∇·τ + g = 0      內力外力
Navier-Stokes Equation     { d/dt u + ∇·(u⊗u) + ∆u + ∇p + ∇·τ + g = 0
                           { ∇·u = 0

Continuity Equation

d/dt ρ + ∇·(ρu) = 0,添上每一處的濃度ρ。

1. 質量沿著速度方向移動
2. 速度是質量的附庸品,速度也沿著速度方向移動
3. 動量沿著速度方向移動

Euler Equation

∇·(ρ(u⊗u)) + ∇p = 0 and ∇·(ρu) = 0,添上每一處的濃度ρ。

符號解是Arnold-Beltrami-Childress Flow。

Navier-Stokes Equation

https://www.grc.nasa.gov/www/k-12/airplane/nseqs.html

描述流體的數學式子。請見科普文章課程講義

時變+空變(平流)=位勢(壓力)+動勢(應力)

符號解是千禧年大獎難題,跟P/NP問題齊名。

數學家傷透腦筋。計算學家登場裝逼。

牛頓第一方程
1. 質量沿著速度方向移動
2. 速度是質量的附庸品,速度也沿著速度方向移動
3. 動量沿著速度方向移動

PV=NRT方程
空間變小,但是動量總和不變 ---> 動量撞牆次數變大,壓力變大 (跟表面積有啥關係?)

白努力方程
1. 1/2 dvv + dgh + p = 常數
2. 1/2 mvv + mgh + pV = 常數
   動能      位能  nrt

歐拉方程
1. 處處速度出入相等 --> 速度場散度是零
2. 動量橫向撞牆 --> 速度UV、速度U梯度,兩者點積 = X方向壓力變化
3. 動量直向撞牆 --> 速度UV、速度V梯度,兩者點積 = Y方向壓力變化
4. 衝撞速度差 * mv + 擦撞速度差 * mv = 壓力變化

NS方程
1. 處處質量出入相等 --> 除個dV就是處處密度出入相等
2. 處處動量出入相等 --> 動量穿越時空 = -壓力(內) + 應力(外)
3. 遠低於音速,得視作不可壓縮,密度是常數,速度是變數
壓力的梯度是速度,速度的梯度是應力。
速度的散度是壓力,因此壓力的laplacian是壓力 (NS方程限制條件,是零)
應力的散度是速度,因此速度的laplacian是速度 (NS方程的擴散項)
https://www.nature.com/articles/ncomms1289

Differential Equation: Field(Under Construction!)

經典的微分方程式:Field

物理元件的互動。

Maxwell's Equation                電磁關係
Einstein Field Equation           重力時間關係
Schrödinger Equation              波粒關係

Maxwell's Equation

真實世界當中,無法先觀測電勢、再推導電場,而是先觀測電場、再逆推電勢。

真實世界當中,電流是梯度場,氣流不是梯度場。氣流無法逆推氣勢。

Differential Equation: Wave(Under Construction!)

經典的微分方程式:Wave

造型奇特的波。

Burgers' Equation                 衝擊波
Korteweg-de Vries Equation        淺水波

Burgers' Equation

Korteweg-de Vries Equation

Huygens-Fresnel Principle。