用Python學《微積分B》(多元函式的微分)

Sagittarius_Warrior發表於2017-10-24


  多元函式的微分包括“偏導數”和“全微分”,而“全微分”在滿足一定條件時,通過“偏導數”的疊加來表示。這種疊加可以讓人聯想到“空間向量”與“直角座標系”的各個分量之間的疊加。
  偏導數(Partial Derivative)內容相對簡單,主要包括:偏導數與全微分(全導數-total derivative)的關係、多元函式偏導數與一元函式的導數的關係、偏導數的標記法、偏導數的幾何意義、高階偏導數、混合偏導數。此外,math is fun也對“Partial Derivatives”有形象的介紹。
  全微分(Total Derivative)部分主要關注全微分與偏導數的關係。整個多元函式的微分是循著以下思路展開的:
  一元函式導數

\; \leftarrow
切片
\leftarrow \;
多元函式偏導數
\; \rightarrow
疊加
\rightarrow \;
多元函式全微分。
  很明顯,它應用了兩種方法:切片(降維)和疊加(分解)。


一、偏導數


1,多元函式的偏導數與一元函式導數
  回顧一下一元函式導數的定義

f(x0)=limxx0f(x)f(x0)xx0
f'(x_0) = \lim_{x \to x_0}\frac{f(x)-f(x_0)}{x-x_0}

  它是用“極限”來表示的,描述函式 f(x) 在 x0
x_0
點附近(鄰域)函式的變化量與自變數的變化量的關係,因此也記作 df(x)dx
\frac{\mathrm{d}f(x)}{\mathrm{d}x}
。比如圓的面積與半徑的變化關係可以表示為:
dSC(r)dr=d[πr2]dr
\frac{\mathrm{d}S_C(r)}{\mathrm{d}r} = \frac{\mathrm{d}[\pi r^2]}{\mathrm{d}r}

  類似地,多元函式的導數也是描述 在某點附近( P0
P_0
的鄰域)函式的變化量與自變數的變化量的關係。同樣地,它也需要用“極限”來表示,但是,我們在上一節學到,多元函式在某點的極限有不同的逼近路徑,且沿不同的逼近路徑求得的極限值是有可能不同的。因此,多元函式的導數(全導數-total derivative)是比較複雜的。那麼,我們考慮其中一種簡單的情況,我們只考慮多元函式的函式值與其中一個變數的變化情況,而保持其他變數恆定,將多元問題轉化為一元問題。比如:長方形的面積 S=lengthwidth
S = length * width
,這個面積隨兩個變數變化。如果我們將其中一個變數固定,比如固定寬度,那麼,這個長方形的面積 S=W0x
S = W_0 * x
,即這個面積與長度呈線性增長關係。
SR(l,w0)l=[w0l]l=w0
\frac{\partial S_R(l, w_0)}{\partial l} = \frac{\partial [w_0 * l]}{\partial l} = w_0

  這就是“多元函式的偏導數”,很明顯,它將“多元函式問題”轉化為了“一元函式問題”。用極限可以表示為:
fx(x0,y0)=limΔx0f(x0+Δx,y0)f(x0,y0)Δx
f_x(x_0,y_0)= \lim_{\Delta x \to 0}\frac{f(x_0+\Delta x, y_0)-f(x_0,y_0)}{\Delta x}

注:從某種意義上來說,多元函式偏導數就是一元函式導數。但是,它們在數學表示式上是有很大的區別的:
1)一元函式導數 df(x)dx
\frac{\mathrm{d}f(x)}{\mathrm{d}x}
,可以當作分式。比如 “鏈導法”
df[u(x)]dx=df(u)dudu(x)dx
\frac{\mathrm{d}f[u(x)]}{\mathrm{d}x} = \frac{\mathrm{d}f(u)}{\mathrm{d}u} \cdot \frac{\mathrm{d}u(x)}{\mathrm{d}x}

2)多元函式偏導數不能當作分式,比如: z=xy
z = xy

zx=y,x=zyxy=zy2,y=zxyz=1xzxxyyz=zxy=1
\frac{\partial z}{\partial x} = y, \; x = \frac{z}{y} \Rightarrow \frac{\partial x}{\partial y} = -\frac{z}{y^2}, \;y = \frac{z}{x} \Rightarrow \frac{\partial y}{\partial z} = \frac{1}{x} \\ \Rightarrow \frac{\partial z}{\partial x} \cdot \frac{\partial x}{\partial y} \cdot \frac{\partial y}{\partial z}= -\frac{ z}{xy} = -1

  矛盾!!!
2,偏導數的幾何意義
1)一元函式導數的幾何意義
  一元函式可以看作平面上的一條曲線,它在某點的導數就是這條曲線在某點的切線的斜率,如下圖:
這裡寫圖片描述

2)二元函式偏導數
  將二元函式看作是空間曲面 F(x,y,z)=0

F(x,y,z) = 0
,也可以寫作 z=f(x,y)
z = f(x,y)
。那麼,二元函式對 x 的偏導數相當於先做一個 y=y0
y = y_0
的平面,該平面與空間曲面相交,這個“交線”肯定位於平面 y=y0
y = y_0
內,換句話說,這個“校線”是一個一元函式 z=φ(x)
  偏導數 f(x,y0)x
\frac{\partial f(x,y_0)}{\partial x}
就是指這條 “交線” 上一點 (x0,y0)
(x_0,y_0)
的切線的斜率。如下圖:
這裡寫圖片描述
注:對於空間曲面應用的是“切片”,對於空間曲線一般應用“投影”,需要注意二者的區別。
3,高階偏導數和混合偏導數
  參照一元函式的高階導數,多元函式的偏導數同樣也可以多次求導,即高階偏導數。需要注意的是混合偏導數
z2xy,z2yx
\frac{\partial z^2}{\partial x \partial y} \;,\; \frac{\partial z^2}{\partial y \partial x}

  這兩個偏導數是不一樣的,其中有一個定理:如果它們在區域D內都連續,那麼這兩個值相等。即“在偏導數連續的情況下,混合偏導數與求導的順序無關”。


二、課後習題


  Sympy對偏導數支援的非常好,下面直接用課後習題來演示:

z=sin(xy),z3xy2=?
z = sin(xy), \; \frac{\partial z^3}{\partial x \partial y^2} = ?

#Exercise 10-2-1-4
from sympy import *
init_printing()
x,y = symbols('x y')
f,g = symbols('f g', cls=Function)
f = sin(x * y)
f, f.diff(x, y, y)

(sin(xy),x(xycos(xy)+2sin(xy)))
\left ( \sin{\left (x y \right )}, \quad - x \left(x y \cos{\left (x y \right )} + 2 \sin{\left (x y \right )}\right)\right )



三、全微分


注:為了簡單起見,我們只說二元函式的全微分。
1,全微分的定義
  偏導數研究的是函式值的變化量與x軸分量或y軸分量變化量的比值,從“空間向量”的角度來看,如果將這兩個分量上的變化進行某種“疊加”,有沒有可能得到“向量”在任一方向變化的規律?
  答案肯定的,這就是全微分,它在數學上是用“偏導數的疊加”來表示的。
1)全增量

Δz=f(x+Δx,y+Δy)f(x,y)=AΔx+BΔy+o(ρ)
\Delta z = f(x+\Delta x, y + \Delta y) - f(x,y) = A\Delta x + B\Delta y + o(\rho)

其中,ρ=(Δx)2+(Δy)2
\rho = \sqrt{(\Delta x)^2 + (\Delta y)^2}
,正好是兩點間距離的公式。
注:原課程中在引入 ρ
\rho
時,用到了“無窮小的比較”
2)全微分
dz=AΔx+BΔy
\mathrm{d} z = A\Delta x + B\Delta y

  類似一元微分與增量的關係,多元微分同樣是增量的線性部分。
3)幾何意義
  一元微分在幾何上表示為在平面上上某點附近用切線近似平面曲線,類似地,二元全微分在幾何上表示在某點附近用切面近似空間曲面。換一個角度來看這個“切面”,它實際上是兩條相交的直線(切線)確定的一個平面。
2,必要條件
  可微(differentiable)
\Rightarrow
偏導數存在,且
dz=zxΔx+zyΔy
\mathrm{d} z = \frac{\partial z}{\partial x}\Delta x + \frac{\partial z}{\partial y}\Delta y

3,充分條件
  偏導數存在且連續
\Rightarrow
可微
注:通常把二元函式的全微分等於它的兩個偏微分之和這件事稱為二元函式的微分複合“疊加原理”
4,充要條件
Δf(a,b)=f(a,b)xΔx+f(a,b)yΔy+ϵ1Δx+ϵ2Δy
\Delta f(a,b) = \frac{\partial f(a,b)}{\partial x}\Delta x + \frac{\partial f(a,b)}{\partial y}\Delta y + \epsilon_1 \Delta x + \epsilon_2 \Delta y

其中,
limΔx0,Δy0ϵ1=0,limΔx0,Δy0ϵ2=0
\lim_{\Delta x \to 0, \Delta y \to 0}\epsilon_1=0 \;, \; \lim_{\Delta x \to 0, \Delta y \to 0}\epsilon_2=0

5,可微與偏導數的關係
這裡寫圖片描述


全微分計算


  全微分的計算一般都可以轉化為偏導數的計算,此外,可以利用全微分進行一些近似計算。下面以課後練習為例,進行演示。
Exercise 10-3-1-1

z=arctanx+yxy,dz=?
z = arctan \; \frac{x+y}{x-y} \; ,\; \mathrm{d}z = ?


#Exercise 10-3-1-1
from sympy import *
init_printing()
x,y = symbols('x y')
f,g = symbols('f g', cls=Function)
f = atan((x+y)/(x-y))
f, simplify(f.diff(x)),simplify(f.diff(y))



(atan(x+yxy),yx2+y2,xx2+y2)
\left ( \operatorname{atan}{\left (\frac{x + y}{x - y} \right )}, \quad - \frac{y}{x^{2} + y^{2}}, \quad \frac{x}{x^{2} + y^{2}}\right )



Exercise 10-3-2
(1.04)2.02?(1.02)3+(1.97)3?
(1.04)^{2.02} \approx ? \\ \sqrt{(1.02)^3+(1.97)^3} \approx ?

提示:第一式可以抽象為
z=f(x,y)=xy
z = f(x,y) = x^y

第二式可以抽象為
z=f(x,y)=x3+y3
z = f(x,y) = \sqrt{x^3+y^3}

根據下式估算
Δf(a,b)=f(a,b)xΔx+f(a,b)yΔy+ϵ1Δx+ϵ2Δy
\Delta f(a,b) = \frac{\partial f(a,b)}{\partial x}\Delta x + \frac{\partial f(a,b)}{\partial y}\Delta y + \epsilon_1 \Delta x + \epsilon_2 \Delta y

f(x+Δx,y+Δy)f(x,y)+f(x,y)xΔx+f(x,y)yΔy
f(x+\Delta x, y + \Delta y) \approx f(x,y) + \frac{\partial f(x,y)}{\partial x}\Delta x + \frac{\partial f(x,y)}{\partial y}\Delta y

解:
(1.04)2.0212+1212(0.04)+12log(1)(0.02)=1.08
(1.04)^{2.02} \approx 1^2 + 1^{2-1} \cdot 2 \cdot (0.04) + 1^2 \cdot log(1) \cdot (0.02) = 1.08

(1.02)3+(1.97)313+23+312213+23(0.02)+322213+23(0.03)=2.95
\sqrt{(1.02)^3+(1.97)^3} \approx \sqrt{1^3+2^3} + \frac{3 \cdot 1^2}{2 \cdot \sqrt{1^3+2^3}} \cdot (0.02)+ \frac{3 \cdot 2^2}{2 \cdot \sqrt{1^3+2^3}} \cdot (-0.03) = 2.95

相關文章