更新於 2024/11/20閱讀時間約 16 分鐘

尋犀記 (5)

    五、函數在不同座標系的梯度

    在二維平面上,連續變動的點 (x₁, y₁)、(x₂, y₂)、(x₃, y₃)⋯ 可以統稱為 (x, y)。

    (x, y) 代表:沿著 x 軸向量 x̂ 之方向、行進了 x 的距離,再沿著 y 軸向量 ŷ 之方向、行進了 x 的距離,將兩者加總,所對應到的平面上的某個點。

    (x, y) 的所有點 (x₁, y₁)、(x₂, y₂)、(x₃, y₃)⋯ 的集合,稱為「關係」(relation)。

    將前述、僅僅是「關係」的集合,再加上「輸入、輸出」的要件,也就是,將 x 視為輸入的自變數,y 視為輸出的應變數,那麼,這樣的關係,就稱為「函數關係」(functional relation)。

    函數關係、類似於機器的輸入與輸出,可以表示為:

    y = f(x)

    想像有一台機器叫做 f(x) = y,這台機器上面的 x 是它的投幣處,y 是商品跳出處;投進去的銅板是 x₁,跳出來的飲料是 y₁。

    現在,假設,要買第二種飲料,所以要投進去的銅板數目不一樣,投 x₂ 進去,得到飲料 y₂⋯ 以下類推。

    函數關係、由於受限於「輸入、輸出」的要件,所以,一個輸入的數值、不會產生二個以上的不同的輸出值,換句話說,自變數與應變數、不會是「一對多」的關係。

    如果 x、和 y 都是連續的,則在二維平面上,輸入值 x、和輸出值 y、所共同對應的點,會構成一條連續的線。

    易言之:

    y = f(x) 是二維平面上的曲線,y 是函數的「值」。

    我們可以將二維平面上的曲線,視為是三維空間中的曲線的投影。依此,三維空間中的曲線函數、可以表示為:

    z = f(x, y(x))

    易言之:

    z = f(x, f(x)) 是三維空間上的曲線,z 是函數的「值」。

    倘若,現在,x、和 y 都是自變數,彼此不受縛於函數的關係,而在二維平面上的每個 (x, y) 的點、又都對應到三維空間的「值」,則這樣的函數關係、會構成三維空間中的曲面。

    易言之:

    z = f(x, y) 是三維空間中的曲面,z 是函數的「值」。

    同理,在我們所熟悉的直角座標系 (Cartesian coordinates) 以外的正交座標系中:

    r = f(θ) 是極座標系 (polar coordinates)、二維平面上的曲線;

    z = f(r, θ) 是圓柱座標系 (cylindrical coordinates)、三維空間中的曲面。

    三維空間的函數,可以各由直角座標系的觀點、和極座標系的觀點、分別觀察。在符號的使用上,我們省略函數的 f 字、而代以函數在三維空間的「值」z;

    亦即,表示為:

    z = z(x, y) = z(r, θ)

    以更符合精簡、經濟的要求。

    以上,是對於函數的概要介紹。

    前篇、舉出了畢氏定理的向量表達:

    x x̂ + y ŷ = r r̂

    其中,x̂ 是 x 座標軸上的向量,ŷ 是 y 座標軸上的向量;x̂ 和 ŷ 互相垂直。

    文字敘述,即是:

    從底邊 x 和斜邊 r 的交點為原點出發、沿著 x̂ 方向移動,至終點,再以此端點為起點、沿著 ŷ 方向移動,而至終點;前述的移動、相當於:由原來的原點出發、沿著 r̂ 方向移動,而至終點。

    前式,經由將等號兩邊同乘、同除的變化,其結果、相當於:

    (x/r) x̂ + (y/r) ŷ = (r/r) r̂

    cos θ x̂ + sin θ ŷ = r̂

    r cos θ x̂ + r sin θ ŷ = r r̂

    上列等式,既有單位圓周上的半徑向量 r̂,亦有 x 座標軸上的單位向量 x̂、和 y 座標軸上的單位向量 ŷ;所以,可以說:畢氏定理的向量表達,其實已經蘊含了直角座標系 (Cartesian coordinates) 與極座標系 (polar coordinates) 的轉換關係 (transformation relation)。

    它們的第一層轉換關係如下:

    r = √(x² + y²)

    θ = arctan (y/x)

    x = r cos θ

    y = r sin θ

    偏導數 (partial derivative) 指的是:在一個連續改變的形體中,某個數值、沿著構成另一數值的座標軸之方向移動,其改變之程度。

    視某個數值、為另一個數值的函數,並在其他分量不變的前提下、取偏導數,其幾何的意義相當於:在連續改變的形體上、選擇其中的一條切線,並求得其斜率。

    進而,純量函數在各個座標軸方向的偏導數、分別構成其梯度向量 (gradient vector) 的分量,在幾何上、此意謂:在二維平面上,曲線的梯度向量、就是與等高線 (isocontour line) 垂直的法向量,在三維空間中,曲面的梯度向量、就是與切平面 (tangent plane) 垂直的法向量。

    比方,在騎腳踏車時,如果上坡的路線過於陡峭,則我們可以將往上直騎的路線、改為斜向,這樣、可以比較省力,其投影的意義為:在二維平面上,由於梯度向量的方向、垂直於等高線,因而,乃是最快到達下一個等高線的方向,同時、也是上坡最為費力的方向;如果,這時,將往上直騎的路線改為斜向,由於非與梯度向量平行,便不那麼費力,但相應付出的、則是較慢到達的代價。

    再者,由於函數的梯度向量、總是與等高線的切線方向垂直,所以,如果行進的路線、並不是沿著等高線的切線方向前進,那麼,除非,行進的位置、恰好位於路徑的最高點、或最低點,否則,便不會有與梯度向量垂直的情況發生,換句話說,亦僅有在路徑的最高點、或最低點的時刻,行進的方向、才會與等高線的切線方向平行;此分析、稱為「受限制的極大化問題」(the constrained-optimization problem)。

    若分別就函數在極座標系的分量、之於其在直角座標系的分量、進行偏微分,及就函數在直角座標系的分量、之於其在極座標系的分量、進行偏微分,那麼,二座標系的分量數值之轉換,就更能夠顯現它們之間的深刻關係。

    此即:

    ∂r/∂x = ∂/∂x (√(x² + y²))

    = (x / √(x² + y²))

    = r cos θ / r

    = cos θ

    ∂r/∂y = ∂/∂y (√(x² + y²))

    = (y / √(x² + y²))

    = r sin θ / r

    = sin θ

    ∂θ/∂x = ∂/∂x (arctan (y/x))

    = (1 / (1 + (y/x)²) ∂/∂x (y/x)

    = (1 / (1 + (y/x)²) (-y/x²)

    = -y / (x² + y²)

    = -r sin θ / r²

    = - sin θ / r

    ∂θ/∂y = ∂/∂y (arctan (y/x))

    = (1 / (1 + (y/x)²) ∂/∂y (y/x)

    = (1 / (1 + (y/x)²) (1/x)

    = x / (x² + y²)

    = r cos θ / r²

    = cos θ / r

    ∂x/∂r = cos θ

    ∂x/∂θ = -r sin θ

    ∂y/∂r = sin θ

    ∂y/∂θ = r cos θ

    本篇的目的,首先,是要尋找極座標系的梯度向量 (gradient vector) 之運算法則,其次,想要進而探討的是:在經由不同座標系間的數值轉換後,梯度是否仍然是一個不變量?

    我們知道,座標系、其實是某種特定觀點的選取,而由不同的觀點、去看待相同的一件事物時,哪些、會改變,哪些、不會改變,則是我們有興趣研究的課題。

    據說,恆河的水,餓鬼看它、是一條大火流,人看見的、只是一條河流,在天界神仙的眼裡、卻是充滿了珍寶的光流;流的形象、會改變,但它怎麼彎曲、又往哪個方向流去、則不會改變。

    是以,雖說「萬法唯心所現」,但是,由觀點之不同、所構成的視野之差異,與說一切、不過是由心的投影、所虛構出來的幻境,這兩者之間、還是要善加甄別,不能籠統地一概而論。

    二維的極座標系、有兩個單位座標向量,它們互相垂直。

    此即:

    θ̂·r̂ = 0

    其中,半徑向量 r̂、為:

    r̂ = cos θ x̂ + sin θ ŷ

    旋轉向量 θ̂、乃是由半徑向量 r̂ 之於旋轉角度 θ 進行微分求得,其為:

    θ̂ = - sin θ x̂ + cos θ ŷ

    至於位置向量 (position vector),由前述畢氏定理的向量表達:

    x x̂ + y ŷ = r r̂

    可以知道,在直角座標系中,位置向量 R⃗、應表示為如下的形式:

    R⃗ = x x̂ + y ŷ

    其向量的表達形式、為:

    R⃗ = (x, y)

    而在極座標系中,位置向量 R⃗、則應表示為如下的形式:

    R⃗ = r r̂

    其向量的表達形式、為:

    R⃗ = (r, 0)

    這是因為,半徑向量 r̂ 是、而且僅是旋轉角度 θ 的函數,它不會沿著自身的方向伸長、或縮短,而僅會依着旋轉角度的改變而旋轉;因此,不同的旋轉角度 θ、即對應著相應的半徑向量 r̂。

    以是之故,位置向量 R⃗ 乃純由被旋轉角度 θ 決定的半徑向量 r̂、乘以某數值而得,而非分別由半徑向量 r̂、和旋轉向量 θ̂、乘以某數值、相加而得;

    亦即,不是如此:

    R⃗ = r r̂ + θ θ̂

    因而,若將位置向量 R⃗ 表示為如下的向量形式:

    R⃗ = (r, θ)

    應該是有問題的。

    位置向量 R⃗ 的微小改變、是為:

    d (r r̂) = (dr) r̂ + r (dr̂)

    = (dr) r̂ + r (dr̂/dθ dθ)

    = (dr) r̂ + r (d/dθ r̂ dθ)

    = (dr) r̂ + r (d/dθ (cos θ x̂ + sin θ ŷ) dθ)

    = (dr) r̂ + r ((- sin θ x̂ + cos θ ŷ) dθ)

    = (dr) r̂ + r dθ (- sin θ x̂ + cos θ ŷ)

    = dr r̂ + r dθ θ̂

    = (dr, r dθ)

    除了前述座標系間、分量數值的轉換關係之外,函數本身的「值」、也可以經由沿著構成其分量的座標軸之方向移動、求得偏導數。

    此即:

    ∂z/∂x = ∂z/∂r ∂r/∂x + ∂z/∂θ ∂θ/∂x

    = ∂z/∂r (cos θ) + ∂z/∂θ (- sin θ / r)

    = (cos θ) ∂z/∂r + (- sin θ / r) ∂z/∂θ

    ∂z/∂y = ∂z/∂r ∂r/∂y + ∂z/∂θ ∂θ/∂y

    = ∂z/∂r (sin θ) + ∂z/∂θ (cos θ / r)

    = (sin θ) ∂z/∂r + (cos θ / r) ∂z/∂θ

    ∂z/∂r = ∂z/∂x ∂x/∂r + ∂z/∂y ∂y/∂r

    = ∂z/∂x (cos θ) + ∂z/∂y (sin θ)

    = (cos θ) ∂z/∂x + (sin θ) ∂z/∂y

    ∂z/∂θ = ∂z/∂x ∂x/∂θ + ∂z/∂y ∂y/∂θ

    = ∂z/∂x (-r sin θ) + ∂z/∂y (r cos θ)

    = (-r sin θ) ∂z/∂x + (r cos θ) ∂z/∂y

    可以看出:它們彼此構成了Jacobian 矩陣之轉換關係,此處不擬列出。

    現在,我們要問:一個函數、在極坐標系中的梯度向量為何?

    已知,函數本身的「值」,其微小的改變、以極座標系表示、為:

    dz = ∂z/∂r dr + ∂z/∂θ dθ

    而這個改變,依鏈鎖律 (chain rule),又相當於它的梯度向量、與位置向量的微小改變、相乘之內積:

    dz = ∇ z(r, θ) · dR⃗

    = ∇ z(r, θ) · d (r r̂)

    = (∇ₛ, ∇ₜ) · (dr, r dθ)

    = ∇ₛ dr + ∇ₜ r dθ

    拿這個結果、和前式相比較,就可以知道,函數在極座標系的梯度向量、即為:

    ∇ z(r, θ) = (∇ₛ, ∇ₜ)

    = (∂z/∂r, (1/r) ∂z/∂θ)

    = ∂z/∂r r̂ + (1/r) ∂z/∂θ θ̂

    這代表,梯度向量、在極座標系的運算法則、為:

    ∇ = (∂/∂r, (1/r) ∂/∂θ)

    另外,我們想要知道,由直角座標系的觀點、所求得的梯度、是否能與極座標系的梯度相通。

    函數本身的「值」,其微小的改變、以直角座標系表示、為:

    dz = ∂z/∂x dx + ∂z/∂y dy

    而這個改變,依鏈鎖律 (chain rule),又相當於它的梯度向量、與位置向量的微小改變、相乘之內積:

    dz = ∇ z(x, y) · dR⃗

    = ∇ z(x, y) · d (x x̂ + y ŷ)

    = (∇ₓ, ∇ᵧ) · (dx, dy)

    = ∇ₓ dx + ∇ᵧ dy

    拿這個結果、和前式相比較,再將前述函數本身的「值」、沿著 x、y 軸方向移動、所得到的偏導數之內容代入,就可以知道,函數在直角座標系的梯度向量、為:

    ∇ z(x, y) = (∇ₓ, ∇ᵧ)

    = (∂z/∂x, ∂z/∂y)

    = [(cos θ) ∂z/∂r + (- sin θ / r) ∂z/∂θ, (sin θ) ∂z/∂r + (cos θ / r) ∂z/∂θ]

    = [(cos θ) ∂z/∂r + (- sin θ / r) ∂z/∂θ] x̂ + [(sin θ) ∂z/∂r + (cos θ / r) ∂z/∂θ] ŷ

    = [(cos θ) x̂ ∂z/∂r + (- sin θ / r) x̂ ∂z/∂θ] + [(sin θ) ŷ ∂z/∂r + (cos θ / r) ŷ ∂z/∂θ]

    = [(cos θ) x̂ ∂z/∂r + (sin θ) ŷ ∂z/∂r] + [(- sin θ / r) x̂ ∂z/∂θ + (cos θ / r) ŷ ∂z/∂θ]

    = [cos θ x̂ + sin θ ŷ] ∂z/∂r + [(- sin θ / r) x̂ + (cos θ / r) ŷ] ∂z/∂θ

    = [r̂] ∂z/∂r + [(1/r) θ̂] ∂z/∂θ

    = ∂z/∂r r̂ + (1/r) ∂z/∂θ θ̂

    此結果、等於函數在極座標系的梯度向量。

    因此,我們得到:

    ∇ z(x, y) = ∇ z(r, θ)

    這就證明了:函數的梯度向量,不論是用極座標系、或直角座標系的觀點求得,其結果皆相同。

    一般化而言,位置向量 R⃗ 的微小改變、為:

    dR⃗ = ∂R⃗/∂u₁ du₁ + ∂R⃗/∂u₂ du₂

    = (∥∂R⃗/∂u₁∥ / ∥∂R⃗/∂u₁∥) ∂R⃗/∂u₁ du₁+ (∥∂R⃗/∂u₂∥ / ∥∂R⃗/∂u₂∥) ∂R⃗/∂u₂ du₂

    = ∥∂R⃗/∂u₁∥ (∂R⃗/∂u₁ / ∥∂R⃗/∂u₁∥) du₁+ ∥∂R⃗/∂u₂∥ (∂R⃗/∂u₂ / ∥∂R⃗/∂u₂∥) du₂

    = ∥∂R⃗/∂u₁∥ (û₁) du₁ + ∥∂R⃗/∂u₂∥ (û₂) du₂

    = ∥∂R⃗/∂u₁∥ du₁ û₁ + ∥∂R⃗/∂u₂∥ du₂ û₂

    = (∥∂R⃗/∂u₁∥ du₁, ∥∂R⃗/∂u₂∥ du₂)

    函數本身的「值」,其微小的改變、為:

    dz = ∂z/∂u₁ du₁ + ∂z/∂u₂ du₂

    而這個改變,依鏈鎖律 (chain rule),又相當於它的梯度向量、與位置向量的微小改變、相乘之內積:

    dz = ∇ z(u₁, u₂) · dR⃗

    = ∇ z(u₁, u₂) · (∥∂R⃗/∂u₁∥ du₁ û₁ + ∥∂R⃗/∂u₂∥ du₂ û₂)

    = (∇ᵤ, ∇ᵥ) · (∥∂R⃗/∂u₁∥ du₁, ∥∂R⃗/∂u₂∥ du₂)

    = ∇ᵤ ∥∂R⃗/∂u₁∥ du₁ + ∇ᵥ ∥∂R⃗/∂u₂∥ du₂

    拿這個結果、和前式相比較,就可以知道,函數的梯度向量、在一般化的情況、即為:

    ∇ z(u₁, u₂) = (∇ᵤ, ∇ᵥ)

    = ((1 / ∥∂R⃗/∂u₁∥) ∂z/∂u₁, (1 / ∥∂R⃗/∂u₂∥) ∂z/∂u₂)

    = ((1/h₁) ∂z/∂u₁, (1/h₂) ∂z/∂u₂)

    = (1/h₁) ∂z/∂u₁ û₁ + (1/h₂) ∂z/∂u₂ û₂

    h₁、h₂ 分別為偏導數向量之長度,稱為標度因子 (scale factors)。

    已知,在二維平面上,位置向量 R⃗ 的微小改變之一般化表達、是為:

    dR⃗ = (∥∂R⃗/∂u₁∥ du₁, ∥∂R⃗/∂u₂∥ du₂)

    = (h₁ du₁, h₂ du₂)

    將其與梯度向量之一般化表達排比對照,二者,由於標度因子 h₁、h₂ 之凹凸嵌入,猶如齒輪的嚙合般、上下密合。

    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.