在考虑超越指数函数积分时我们遇到了形如的微分方程(6),其中数(基域)为已知函数,为未知函数。这是一个Risch微分方程的求解问题。一般地,设,Risch微分方程问题就是要判断 在中是否有解,如果有解则构造出解。此问题是最简单的一类微分方程,同时对于符号积分的求解过程也是本质上重要的。
首先我们假定最简单的有理函数域情形,即设、或。记表示有理函数的既约分母,对于任意为不可约多项式且,我们希望求出的次数。设,,。可令,其中,则,由可知。故方程(1)中三项,,的分母中的次数分别为,,。比较两端分母中的次数,分为三种情形:
由此得到了未知函数分母中的次数的上界,使我们便于使用待定系数法。
仔细验证可以发现,只有在论证时用到了为不可约多项式,其他地方均可以将条件减弱为为无平方因子的多项式。因此可以首先用的无平方因子分解代替完全分解。需要处理的是对幂次的无平方因子,求出的不可约因子,使得为整数。与Rothstein-Trager方法类似得论证可以得到从而我们只需求结式关于的整数根即可。我们得到了如下计算的一个倍数的方法。
在得到的一个倍数之后,只要确定分母次数的一个上界,即可使用待定系数法求出的分母来了。设,我们希望求出记。带入方程(1)并两端乘以最小公分母可以得到形如的等式,其中为多项式,记,,,则,,的次数分别为,,。比较等式两端的次数,分为三种情形:
由此我们得到了分母次数的一个上界。
有了引理2,接下来便可以对的分母进行待定系数法求解了,最终可得到方程(1)在、或的解。
上面我们讨论了为最简单的有理函数域的情形。对于一般情形,Bronstein[3]证明了如下定理。
由于Risch[2], Rothstein[4], Davenport[5]解决了超越初等扩张的积分问题和Risch方程问题,Trager[6],Davenport[7]解决了代数扩张的积分问题和Risch方程问题。从而根据定理1,便可以从理论上得到所有初等函数的初等积分和Risch方程问题的解决方案了。
求积分实际上就是最简单的一阶方程,不过可以看到解决此问题的难度已经相当大了。Risch微分方程是最简单的一类一阶微分方程(线性方程),当然我们求的仅仅是中的解,而非上的初等函数解。我们知道一阶线性方程(1)有通解表达式但这并没有解决一般问题,因为为了算出表达式中的指数积分,我们还得回到解Risch方程问题上。
不过以下的定理[1]使我们能够避免循环论证而得到上可能的初等函数解。
这就完成了证明。 □
因此求一阶线性方程可以通过求中的解,或是上的代数函数积分来完成。
接下来要讨论的自然是一般高阶线性方程如何求解的问题。对一般的高阶线性方程可化为线性方程组矩阵形式其中
设对应的齐次方程的基本解矩阵为,则非齐次线性方程的通解为[8]因此我们可以首先考虑齐次方程的求解。
在求解多项式方程的过程中诞生了伟大的Galios理论,解线性微分方程也有一个对应物——微分Galois理论。在这里我们做一个简要介绍,这些理论也是Kovacic著名的二阶线性方程求解算法的基础(尽管最终的算法可以完全摆脱微分Galois理论的语言)。首先引入几个重要的概念[9]。
下面的将微分Galois群与代数群建立联系的基本结果是本质上重要的。
定理的证明需要较多的准备,因此我们在这里只给出几个例子。
我们可以考虑比初等函数更广的一类函数,应用起来也更加方便。
称为上的一个Liouville函数域,若,为上的Liouville生成元。上的任一个Liouville函数域中的元素称为上的Liouville函数。
线性微分方程的优美理论将引导我们,把方程Liouville解与一般线性群的代数子群联系到一起。下面理论上重要的Lie-Kolchin定理给出了线性微分方程的解是Liouville解的充要条件。
因此为了研究线性微分方程的Liouville解,我们可以转向代数子群的研究。比如说对于二阶线性方程,我们便需要对特殊线性群的代数子群有所了解。
考虑二次齐次线性方程其中,通过标准的变换(中的积分总可以求出),可化为缺项形式因此我们下面可以只考虑形如 其中的二阶线性方程。在这样的特殊形式下我们知道,若是一个Liouville解的话,那么是与线性无关的另一个解[8],从而方程所有的解都是上的Liouville解。
正如上面所说的,特殊线性群的代数子群对于我们很重要,事实上有下面的定理(见[10])。
对应于代数子群的四个类型,如下定理就不令人意外了。
证毕。 □
在知道了Liouville解的形式之后,对Liouville解的存在性的判定便有了一些依据。下面的必要条件主要是通过对解的奇点分析得到的。我们知道,设,其中,为互素的多项式,则的极点即为的零点,且在极点处的阶数等于作为零点的重数。在处阶数定义为。这实际上是更一般的离散赋值的特殊情形。
在这样的定义下,在处的极点阶数实际上等于。
证毕。 □
下面我们来说明如何通过类似的奇点分析具体构造出所需要的Liouville解。首先设满足第一类必要条件,即的所有极点阶数为偶数或1,在处的阶数为偶数或大于2。
设解,。则在处的部分分式项可写为不妨仅考虑0处,简记,则在0处的Laurent展式可写为其中为的非负幂次项级数。以下分几种情况讨论。
() 设0处极点阶数为1,,由得到可知,。从而有可知,而0是极点,故只能有。从而在0处的部分分式为。为了统一起见,记。
() 设0处极点阶数为2,,同样的推理可以得到,,从而在0处的部分分式为,其中。
() 设0处极点阶数为,可设由可得。设在0处的部分分式为,经过计算可得,其中为中的系数。
() 设0非极点,与(c1)同样的推理可得,或。在0处的部分分式是0或者。
综合以上四种情况得到其中表示的极点集合,,记号可取 或。因此下面的任务就是确定,和了,为此我们还需考虑在处Laurent展式
() 设处阶数为大于2,代入可得,或。
() 设处阶数为2,,同样的可得,,。
() 设处阶数为,表示在处展式的多项式部分。类似()可得,,其中为中的系数。
综合以上三条可得到再比较两边展式的的系数可得最后还需要确定,设,则可写为,代入得到用待定系数法求出多项式即可。得解。
以上对构造第一类解的讨论,我们可以稍作一些总结。为了求解,首先通过奇点分析得到(即每个奇点贡献的总和),再通过待定系数法求解关于多项式的一个微分方程,最后根据和计算。在构造另外两类解时过程也大抵如此,只不过奇点分析更复杂一些,关于的微分方程次数会较高,而通过和计算的过程也更复杂,需要解一个代数方程。我们不再一一详述,具体可参见[10],不过为了完整起见,这里给出Saunder[11]对Kovacic算法的一个简化版本,不仅利于实现,也避免了具体求出所有奇点。
Kovacic算法成功地解决了二阶线性方程的Liouville解,我们看到了微分Galois理论的巨大威力。尽管更加困难,使用微分Galois理论也可以的确用来求解高阶线性微分方程。例如早在1981年Singer[12]就在理论上提出了一个确定性的过程来求出所有的Liouville解,在此基础上还有许多发展,但复杂度仍太高以至于无法实际应用。因此需要考虑更快速、便于实现的方法。这里我们简要地介绍Abramov,Kvansenko[13],Bronstein[14]提出的高阶线性方程多项式解、有理解、原函数指数解的方法。
在本节中设为一个数域,我们上考虑阶线性方程 其中系数,我们第一步的目标是求出方程(5)在中的多项式解。设为一个多项式解,代入方程(5)得到 记,设在处取到。记其中表示的首项系数。则,可知当时,式(6)中左端最高次项为比较式(6)两段最高项可知或者,或者。从而我们得到了次数的上界其中表示的最大正整数根。
如同我们经常做的,在得到次数上界之后便可用待定系数法求解了,最终的未定系数便为解表达式中的任意常数。但由于无法精确求出,只能采取近似的估计,而估计的往往会很大,计算复杂度就较高。可以考虑如下的递推方法来求解关于待定系数的线性方程组更有效。
对“截断”的线性方程(),同样定义如上的和,记为和(从而,)。假设我们搜索次数不超过的多项式解,同样比较首项系数可得 从而求出,再作变量替换,得到新的关于的方程再继续求解此方程不超过次的多项式解,如此续行即可。
当然在通过(7)计算的过程中要考虑的情形,若此时等式右端为零,则判定此方程无多项式解;若等式右端为零,则可视为一个未定参数,代入变换后的新方程进行计算。接下来当比较系数时,若等式左端为零,而右端含未定参数时,便可消去右端的某个参数。到求得之后,最终可以得到一个其系数中含若干个参数的多项式,将所有系数联立为零,可确定参数的值或者最终出现在解中的可变常数。这最后一个问题的规模是的[13],复杂度比非递推的待定系数法要小很多。
设为有理函数解,则从方程(5)可知的每一个极点都是的零点,从而的每个不可约因子都是的因子。为了确定,只需确定的各个不可约因子在中出现的次数即可。
设为的一个极点,。设在处的阶数为,即,。则有代入方程(5)得到 和多项式解情形类似的,我们定义,并设在处取到。记则当时,式(8)左端项的系数为,而,可知必有。于是得到即为在中的次数上界,其中表示的最小负整数根。
因此本质上和多项式解情形一样(对的分析变为了对的分析),我们从理论上得到了一个求有理函数的方法(求得分母,待定分子系数)。但在上分解系数总是不很方便的。为了合并的乘积,从而将所有运算都限制在系数域中,我们引入如下平衡分解的概念(见[15])就显得很自然了。
再设,称关于是平衡的,若对于每个都是平衡的。称为关于的平衡分解,若此分解对于每个都是平衡分解。
的无平方分解总是关于的平衡分解,选取不同的,可以得到不同于的无平方分解的平衡分解。不严格地说,平衡分解要比无平方分解来得“细”,但比完全分解来得“粗”。我们可以只动用上的GCD运算,构造出关于的平衡分解,为了不偏离主题太远,算法将在稍后给出。
设为关于的平衡分解。考虑(),设为在上的完全分解。由于关于平衡,故对于每个,在因子处的阶数都是相等的,公共的阶数可记为。同样定义,并设在处取到。令为了得到中的次数上界,可对与施行Euclid算法,求出为使的最小负整数值,则不难知道中的次数有上界
这样我们避开了上的分解而求出了的分母。可设,(为次数上界)。代入原方程(5)整理可得 其中接下来的问题就是求新方程(9)的多项式解,而这是我们已经解决了的。
我们在求高阶线性方程的有理解过程中引入了平衡分解的概念,其实也不难构造计算平衡分解的算法。我们将分几步走,每步的正确性都是不难验证的。
上面的两个算法都假定了无平方因子,因此平衡分解中因子的次数都是1。下面明显的定理给出一个最终版的平衡分解算法。
高阶Liouville解的求解要比二阶困难得多。1992年,Bronstein[14]提出了求解所有指数解(严格来说是原函数的指数解,即解满足,为一个数域)的一组基的方法,并且此方法也已在Axiom系统上实现。此算法在[16]的基础上作了一些改进,甚至不需要在上分解,因此也可作为高阶线性微分方程的Singer一般算法[12]一个高效的子算法实现。
在本节中仅考虑高阶阶齐次方程的情形,即
设为方程(10)的一个指数解。在的情形,对方程我们知道满足这被称为原方程关联的Riccati方程。对一般的方程(10),不难求出对应的关联Riccati方程为 其中因此求指数解的问题就相当于求解非线性的关联Riccati方程在中的解。
在这些精巧的定义下,Bronstein证明了以下关于解结构的定理[15]。
我们这里只能暂时省略论证的过程,来看看有了定理9之后能做些什么。首先,我们可以通过计算平衡分解计算得到。接下来可以通过试探依次求出中求和的每一项组成部分。例如我们试探为求和中的一项,令,,则由及(为微分算子)可得 且计算可得可得为新的关于的阶线性方程,如此续行直到求出解或者全部试探完毕。
首先我们考虑求出多项式部分。记,利用中的最高次项为,记且在处取到等号,设比较方程(11)两边的最高项可知。从[16]命题2.3的证明可以知道,可知的取值只有有限多种,而的根只有有限多个,从而的取值至多只有有限多种可能,依次试探并作变量替换,如此续行,直到求出所有可能的多项式解的集合。
考虑对应项。简记,,,作部分分式分解记且处取到等号。令其中 则比较方程(11)分母中的的最高次项可知。由可得到一个关于系数的代数方程组,得到的至多有有限种可能。接下来依次求并试探所有的对应的项,直到求出所有可能的。
最后求解对数导数了,而这相当于对变换后的阶线性方程(12)求多项式解,是我们已经解决的问题。
许多特殊函数往往来源于某一类微分方程的解(二阶的尤为常见)。当一个方程没有Liouville解时,我们期望能够用特殊函数来表示方程的解,便于进一步的研究。精确地说,希望找到形如的解,其中为上的Liouville函数,为有理函数,则为某一个标准方程的解(例如Bessel方程)。
下面我们考虑二阶方程,的特殊函数解。设给出特殊函数的标准方程为作变量替换,记,,,,,,利用,,可得 消去,可得 若满足待求解方程,则有 及可解得 代入式(13)可得
首先注意到,由式(14)可得为Liouville函数。因此要求得符合标准方程的解,关键问题如何找出合适的有理函数。寻找的主要方法还是分析函数的奇异性,首先求出的分母,再找到其分子次数的上界,最后通过求解代数方程求出分子的各系数。
设,下证必有。由于,可得,(当)或(当时),,,同样由及式(15)可得即再注意到可得所要证的。
最后注意当时有,从而,故不等号成立与后一种情形是重合的,这就完成了证明。 □
由此我们得到了想要的的表达式和次数的上界,将的系数待定代入(15)可以得到一个代数方程组,最后解此方程组即可。另外,为保证得到的不是常数(注意常数总是解),我们可以添加额外的一些限制方程。设,,,,加入方程,其中为新的待定元。可以看出,解新的方程组可以保证至少有一个使得,从而非常数。
函数,也允许带上参数(例如Bessel方程中的参数),将它们也视作方程组中的未定元,求解代数方程组时可以将参数确定下来。
在本节的最后我们给出定理10在一些经典特殊函数的情形,便于实际应用。
[1]Computer algebra: systems and algorithms for algebraic computation, Academic Press, London, UK, 1988.
[2]The Problem of Integration in Finite Terms, Transactions of the American Mathematical Society 139 (1969), 167-189.
[3]Integration of elementary functions, Journal of Symbolic Computation 9 (1990), no.2, 117 - 173.
[4]A new algorithm for the integration of Exponential and Logarithmic Functions, Proceedings of the 1977 MACSYMA Users Conference (1977), 263-274.
[5]The Risch differential equation problem, SIAM Journal on Computing 15 (1986), no.4, 903 - 918.
[6]Integration of Algebraic Functions, Ph.D thesis, Dpt. of EECS, Massachusetts Institute of Technology (1984).
[7]Intégration algorithmique des fonctions élémentairement transcendantes sur une courbe algébrique, Annales de l'institut Fourier 34 (1984), no.2, 271-276.
[8]常微分方程教程, 高等教育出版社, 北京, 2004.
[9]Galois theory of linear differential equations, 科学出版社, 北京, 2007.
[10]An algorithm for solving second order linear homogeneous differential equations, Journal of Symbolic Computation 2 (1986), no.1, 3 - 43.
[11]An implementation of Kovacic's algorithm for solving second order linear homogeneous differential equations, Proceedings of the fourth ACM symposium on Symbolic and algebraic computation (1981), 105-108.
[12]Liouvillian Solutions of n-th Order Homogeneous Linear Differential Equations, American Journal of Mathematics 103 (1981), no.4, 661-682.
[13]Fast algorithms to search for the rational solutions of linear differential equations with polynomial coefficients, Proceedings of the 1991 international symposium on Symbolic and algebraic computation (1991), 267 - 270.
[14]Linear ordinary differential equations: breaking through the order 2 barrier, Papers from the international symposium on Symbolic and algebraic computation (1992), 42 - 48.
[15]On solutions of linear ordinary differential equations in their coefficient field, Journal of Symbolic Computation 13 (1992), no.4, 413 - 439.
[16]Liouvillian solutions of linear differential equations with Liouvillian coefficients, Journal of Symbolic Computation 11 (1991), no.3, 251 - 273.
[17]Solutions of linear ordinary differential equations in terms of special functions, Proceedings of the 2002 international symposium on Symbolic and algebraic computation (2002), 23-28.