設置 | 登錄 | 註冊

目前共有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許可協議進行許可。