在考虑超越指数函数积分时我们遇到了形如的微分方程(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.