HOROWITZ

Horowitz-Ostrogradsky方法

Hermite方法避免了完全分解,但仍要求无平方分解和关于HOROWITZ的部分分式分解。Horowitz-Ostrogradsky方法则不需要其他工具,通过待定系数法将问题归结为线性方程的求解问题。

HOROWITZ其中HOROWITZ为积分的有理部分,由部分分式的结果可知HOROWITZHOROWITZ。求导得到HOROWITZ从而问题归结为求HOROWITZHOROWITZ满足HOROWITZHOROWITZHOROWITZ。以HOROWITZHOROWITZ的系数作为未知变量,这是一个至多HOROWITZ维的线性方程组问题。

注1 设HOROWITZ,则Hermite方法的时间复杂度为HOROWITZ[3],其中HOROWITZ为乘法的复杂度。而Horowitz-Ostrogradsky方法的复杂度为HOROWITZ(解线性方程组),尽管渐进意义上后者要比前者慢将近两个量级,但在实践中还是要分析具体情况而定。

HOROWITZRothstein-Trager方法

下面的问题是如何求出对数部分,因此我们设HOROWITZ无平方因子的首一多项式,并可设HOROWITZ其中HOROWITZ为互不相同的常数,HOROWITZ为无平方因子的首一多项式,两两互素(可以通过合并项来满足这些条件)。求导得到HOROWITZ由于HOROWITZ无平方因子且两两互素可知HOROWITZHOROWITZ,则有HOROWITZHOROWITZ于是对于HOROWITZHOROWITZ最后一个等式成立是因为HOROWITZ从而HOROWITZ

由式(3)可以看出,当我们找出系数HOROWITZ后即可通过最大公因子的计算求出HOROWITZ。如何求出HOROWITZ呢?同样的论证可以知道HOROWITZ,而HOROWITZ(此结式称为Rothstein-Trager结式),故求解关于HOROWITZ的方程HOROWITZ即可得到所有的系数HOROWITZ

例2 设HOROWITZHOROWITZ,则Rothstein-Trager结式HOROWITZ。从而方程HOROWITZ有唯一的根HOROWITZ,最大公因子HOROWITZ,故HOROWITZ即为积分结果。 
注2 Rothstein-Trager方法的时间复杂度为HOROWITZ[3]
注3 对于高次Rothstein-Trager结式,其根可能无法显式地表达出来。设HOROWITZ无平方因子,HOROWITZ个根为HOROWITZHOROWITZ),不难求得(1)中的HOROWITZ,此时可直接将积分表示为HOROWITZ便于进一步的运算。

src

相关推荐