設置 | 登錄 | 註冊

目前共有20篇帖子。

符號積分算法

1樓 悄悄打开魔盒 2024-6-22 10:13
參考:https://www-sop.inria.fr/cafe/Manuel.Bronstein/publications/issac98.pdf



計算機如何自動計算不定積分,是一個長期感興趣的問題,1968年出現的Risch算法,以及在1976年的改進Risch–Norman算法在相當程度上解決了這個問題,這些算法可以自動求解初等函數的不定積分,前提是積分也是初等函數。

2樓 悄悄打开魔盒 2024-6-22 10:18
第一種情況,有理函數的積分。
有理函數是兩個多項式的商。根據代數基本定理,多項式一定能在代數閉域內分解為一次多項式的乘積,而在實數域內,則分解成一次多項式和判別式為負數的二次多項式的乘積:
3樓 悄悄打开魔盒 2024-6-22 10:29
如果上述D是有理函數的分母,那麼通過所謂部分分式展開,可以把有理函數寫成下列形式


其中P是多項式,Aik,Bjk,Cjk,ai,bj,cj都是實數。
那麼,要計算這個積分,只需要分別計算每一項的積分即可。多項式P的積分容易計算;其餘各項的積分如下:

1. 分母為一次式的k次方:2. 分母為二次式,k=1:
這裏的判別式4cj-bj^2<0.


4樓 悄悄打开魔盒 2024-6-22 10:29
3. 分母為二次式,k>1:
這樣就可以遞推式地降低k,直到k=1.
5樓 悄悄打开魔盒 2024-6-22 10:47
這種算法有一個重大缺陷:並沒有什麼算法可以得到所需的因式分解。這並不是說因式分解不存在,而是我們無法通過一種算法求解它。例如,五次方程x^5-x+1=0就沒有根式解。(即使通過特殊函數,也會涉及希爾伯特第十三問題而難以解決)


為了解決這個問題,我們首先需要對分母的因式分解進行限制,保證其有相應的算法。

巨大八爪鱼從三次方程開始,精確的根式解就很複雜了,有的解含有虛數i,有的解要用雙層根號表示。甚至要用含有根號和虛數i的式子來表示一個實數。
巨大八爪鱼另外,高次方程經常會遇到實部和虛部都是無理數的虛數解,有時這些無理數要用多層根號表示(三、四次方程)(根號裏面還可能含有虛數i),有時甚至完全無法用根號表示(五次方程以上),只能用有限小數近似值加省略號表示。
6樓 悄悄打开魔盒 2024-6-22 11:33

如果多項式f有不可約因式g^m, 但g^{m+1}不是f的因式,那麼f和f導數f'的公因式(f,f')能被g^{m-1}整除,但不能被g^m整除。


我們用這個事實,可以得知公因式h=(f,f')的每個不可約因式的次數比f小1.

7樓 悄悄打开魔盒 2024-6-22 11:50
我們假設f是首一多項式,把相同重數的不可約因式放在一起,設

那麼,首一公因式(f,f')為


於是,我們有


也就是說,我們不難從f求出無重數部分h1. 進而,可以再對(f,f')使用該算法求出h2,等等。因此,我們的算法最終可以把f的上述分解(也就是對應於每個重數的h1,h2....,hr)求出來。


8樓 悄悄打开魔盒 2024-6-22 12:17




上述算法成功把分母的最高重數從m降到了m-1,因此重複上述步驟,就可以把有理積分化約為分母無平方因子的情況。這叫做厄爾米特約化(Hermite reduction)。

9樓 悄悄打开魔盒 2024-6-23 22:46
根據厄爾米特約化,我們只需要求A/D, deg(A)<deg(D), D無平方因子,這種情況的不定積分。
我們考慮在複數域內對D進行分解,結果是互不相同(因為D無平方因子)的單項式的乘積,因此A/D有部分分式展開

此時,使用複對數,可以把積分表示為

其中C是任意常數。當然,我們是不會滿足於這種表示的,因為它很明顯仍然沒有規避高次方程求根的問題。

10樓 悄悄打开魔盒 2024-6-24 00:41
這裏的ai顯然等於A/D在單極點ri的留數。設D=D1(x-ri), 那麼不難計算出

因此,ri是D和A-aiD'的公共零點。根據結式(https://zh.wikipedia.org/wiki/%E7%B5%90%E5%BC%8F)的性質,ai恰好就是結式

的根(即使得上述結式等於零的t)。

內容轉換:

回覆帖子
內容:
用戶名: 您目前是匿名發表。
驗證碼:
看不清?換一張
©2010-2025 Purasbar Ver3.0 [手機版] [桌面版]
除非另有聲明,本站採用知識共享署名-相同方式共享 3.0 Unported許可協議進行許可。