论文部分内容阅读
非线性系统是描述自然现象的主要数学模型,其研究在众多领域内都发挥着重要的作用.近年来,随着高性能计算机和计算机代数系统的快速发展,符号计算已经成为解决非线性系统相关问题的有力工具.本文基于符号计算平台Maple,在数学机械化思想的指导下,针对构造非线性系统精确解的相关机械化算法进行研究,主要开展了以下三方面的工作.第一部分主要研究非线性系统的精确求解.Hirota方法是求解非线性微分方程的一种有效方法,基于Hirota方法可构造非线性演化方程多种类型的精确解.但是,由Hirota方法推导出的n孤子解公式往往只对可积方程成立,本文引入了一种参数约束条件,使得n孤子解的公式对不可积方程也有效.在此基础上基于Painlevé展开法、简单Hirota方法、共轭参数法和长极限法,发展出了构造非线性演化方程孤子解、呼吸子解和lump解的机械化算法,研发了相应的软件包TwSolver,并在编程实现时对上述方法的一些细节进行了优化.该软件对可积方程和不可积方程都适用,且使用接口友好.直接代数方法在微分方程的求解中也有广泛的应用,它的主要难点是其中大规模非线性代数方程组的求解.针对大规模非线性代数方程组求解困难的问题,本文设计了一个分组并行的求解算法,并研发了相应的软件包PGSolve.作为PGSolve的应用实例,本文开发了用直接代数方法求n-孤子和1-lump相互作用解的软件包NS1L.通过对NS1L产生的大规模非线性代数方程组进行实验,我们发现:PGSolve能够在几分钟内求解规模在350以内的方程组;对于规模在100以上的方程组,其求解效率比普通求解函数高100倍以上.第二部分主要研究n阶展开方法及其应用.在微分方程的求解中,有许多方法都是基于齐次平衡原则发展起来的,如Painlevé展开法、双曲正切方法和Jacobi椭圆函数方法等.这些方法将方程的解设为特定函数的多项式,通过平衡方程中两个不同最高项的阶数来确定解的阶数.但是,当一个方程中各个最高项的阶数的表达式相同时,就无法确定解的阶数的上界,从而有可能漏解.本文发现,解的阶数不仅会出现在最高n项的阶数中,还会出现在最高n项的系数中.因此,本文考虑同时平衡方程中最高n项的阶数和系数,提出了n阶展开方法,实现了NEM软件包.基于n阶展开方法,提出了一个求非线性差分方程多项式解的新算法,并研发了相应的软件包NLREPS.同时,本文还将n阶展开方法应用于双曲正切方法和Painlevé展开法.实验和例子表明,n阶展开方法确实对齐次平衡原则进行了完善和推广,能更加全面地分析平衡的情况,在求解时获得更多的解.第三部分主要研究抽象函数的非线性积分表达式的化简.因为在非线性微分方程的求解过程中往往需要进行积分表达式的化简,且尚未有软件或算法能够解决本文所考虑的抽象函数的非线性积分表达式化简问题,所以本文将其作为一个具有挑战性的问题进行研究.首先,本文建立了一个代数系统将关于抽象函数的积分多项式视为标准积分项的线性组合.然后,基于导数的乘法规则,设计了一个递归算法来寻找所有的二项合并规则.最后,基于这些规则将化简问题转化为一个精确线性规划问题进行求解,实现了非线性积分表达式化简的软件包IntSimplify.IntSimplify能够化简含有嵌套积分和冗余项的积分多项式,相比于已有的算法能够化简更加复杂的积分表达式.需要说明的是,本文的主线是研究构造非线性微分方程精确解的相关机械化算法.非线性差分方程多项式解的构造算法及其机械化研究是n阶展开方法的推广应用;而抽象函数的积分多项式化简是为微分方程的化简和求解提供一个辅助工具.