神奇的多項式求導矩陣與積分矩陣

線性代數是一門有趣又有用的學科。基於機器學習、深度學習等技術的人工智能的核心數學知識就包含數理統計、微積分與線性代數。

通過 求導矩陣 對多項式求導:

例:

f(x)=4x2+3x+2f(x) = 4 x^2 + 3 x + 2

則聲明其係數向量次數矩陣

y=[432]y = \left[\begin{aligned} 4\\ 3\\ 2\\ \end{aligned}\right]

D=[000200010]D = \left[\begin{aligned} 0 & \quad 0 & \quad 0\\ 2 & \quad 0 & \quad 0\\ 0 & \quad 1 & \quad 0\\ \end{aligned}\right]

將 D 與 y 做乘,則得到求導後的係數:

dydx=[083]\frac{dy}{dx} = \left[\begin{aligned} 0\\ 8\\ 3\\ \end{aligned}\right]

對應數學表達式:

f(x)=0x2+8x+3f'(x) = 0 x^2 + 8 x + 3

同理,可推導 積分矩陣 :

Dy=dydxDy = dydx
DD1y=D1dydxDD^{-1}y = D^{-1}dydx
D1y=dydxD^{-1}y = dydx

因此,對於式 g(x)=8x+3g(x) = 8 x + 3 ,其積分矩陣爲:

  • 原式線性多項式最高次冪爲1,則積分後最高次冪爲2,則積分矩陣要表達 2 次的係數,因此 n=3n=3
  • 即先寫出正常的 DD ,再取 DD 的(僞)逆。

則對於 g(x)g(x) ,積分矩陣爲:

D1=[000200010]1D^{-1} = \left[\begin{aligned} 0 & \quad 0 & \quad 0\\ 2 & \quad 0 & \quad 0\\ 0 & \quad 1 & \quad 0\\ \end{aligned}\right]^{-1}

D1=[00.50001000]D^{-1} = \left[\begin{aligned} 0 & \quad 0.5 & \quad 0\\ 0 & \quad 0 & \quad 1\\ 0 & \quad 0 & \quad 0\\ \end{aligned}\right]

D1D^{-1} 與 係數向量 做乘,則得到積分後的係數:

g(x)dx=[430]\int g(x) dx = \left[\begin{aligned} 4\\ 3\\ 0\\ \end{aligned}\right]

對應數學表達式:

g(x)=4x2+3x\int g(x) = 4 x^2 + 3 x

注意該不定積分沒有常數項。

啓發:該方法很好理解,利用了矩陣的性質,實現了係數的自動變換與落位,在計算實現時可以考慮該方法減少迭代次數,提高運算效率。但是可能只適合線性多項式。

下面是一個 matlab 的例題,我先通過求導矩陣求其求導後,在通過積分矩陣求其原式,但是不帶常數項。

4th order polynomial

在這裏插入圖片描述

》D

D =

     0     0     0     0     0
     4     0     0     0     0
     0     3     0     0     0
     0     0     2     0     0
     0     0     0     1     0

》Y

Y =

     2
     4
     6
     8
     3

》dy = D * Y

dy =

     0
     8
    12
    12
     8

》% 如何通過dy求Y? 先對D求逆,即積分矩陣
》D_1 = pinv(D)

D_1 =

         0    0.2500         0         0         0
         0         0    0.3333         0         0
         0         0         0    0.5000         0
         0         0         0         0    1.0000
         0         0         0         0         0

》Y = D_1 * dy

Y =

     2
     4
     6
     8
     0
發佈了139 篇原創文章 · 獲贊 48 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章