此为 Mathematica 4 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.1)

A.9.5 代数和微积分

多项式处理

FilledSmallCircle 对于单变量多项式,Factor使用变化Cantor Zassenhaus算法按模分解一个素数,然后使用Hensel上升重组法在整数域构造因子.
FilledSmallCircle 在代数数域上进行因式分解时先寻找有理数域上的一个初始元素,然后使用Trager算法来实现.
FilledSmallCircle 对多变量多项式,Factor通过用适当的整数选择替换除一个变量外的所有变量,然后分解所得到的单变量多项式,并使用Wang算法重新构造多元因数来实现.
FilledSmallCircle 除一般多项式处理外,Factor的内部代码约有250页.
FilledSmallCircle FactorSquareFree通过寻找一个微商然后反复计算GCD来实现.
FilledSmallCircle Resultant要么使用显式子结式多项式剩余序列要么使用使用Chinese Remainder Theorem的模序列.
FilledSmallCircle Apart要么使用Pade技术要么使用待定系数法.
FilledSmallCircle PolynomialGCD通常使用包括Zippel稀疏模算法在内的模算法,但在某些情况下使用子结式多项式剩余序列.

符号线性代数

FilledSmallCircle RowReduce,LinearSolveNullSpace都基于高斯消元法.
FilledSmallCircle Inverse使用了余子式展开和行变换.主元通过寻找简单表达形式来选取.
FilledSmallCircle 对小矩阵,Det直接使用余子式展开,而对较大的矩阵则使用高斯消元法.
FilledSmallCircle MatrixExp首先找到特征值然后使用Putzer方法.
FilledSmallCircle 各种函数的零点测试通过在随机数值已代入变量后使用符号变换和基于区间的数值近似来实现.

准确方程求解

FilledSmallCircle 对线性方程使用高斯消元法和其它一些线性代数方法.
FilledSmallCircle 表示代数数的Root对象常常使用有效的数值方法来分隔开和处理.当ExactRootIsolation->True时,对于实根,Root使用基于Descartes符号法则的一个算法的连分式,而对于复根则使用Collins-Krandick算法.
FilledSmallCircle 对于单一的多项式方程,Solve使用显式四阶功式,并试图使用FactorDecompose化简多项式,和识别割圆以及其它特殊多项式
FilledSmallCircle 对多项式方程组,Solve构造一个Grobner基.
FilledSmallCircle SolveGroebnerBasis使用了有效的Buchberger算法.
FilledSmallCircle 对非多项式方程,Solve试图改变变量并增加多项式条件.
FilledSmallCircle Solve的代码约有500页.

化简

FilledSmallCircle FullSimplify自动使用约40种一般代数变换,和适应于大约400种数学函数的法则.
FilledSmallCircle 广义超几何函数大约使用了70页的Mathematica变换法则进行化简.这些函数是Mathematica中许多微积分运算的基础.
FilledSmallCircle FunctionExpand使用推广Gauss算法来展开含有Pi的有理数倍参数的三角函数.
FilledSmallCircle 在适当的时候,SimplifyFullSimplify对结果进行缓存.
FilledSmallCircle 如果指定变量是实的,Mathematica使用基于柱代数分解的方法来推导出适用的变换.
FilledSmallCircle 对于一般的多项式不等式,则使用带改进McCallum投影算子的Collins算法.对于严格不等式,则采用Strzebonski方法.对线性不等式,使用的方法要么基于单纯形法要么基于Loos Weispfenning线性消元法.
FilledSmallCircle 如果多项式中包含方程,则采用Grobner基方法.
FilledSmallCircle 对于非代数方程,则要使用有关数据库从它们的定义域中确定值域.只要值域是半代数集合,则使用面向多项式的算法.
FilledSmallCircle 对整数函数,则以Mathematica法则的形式使用了几百个数论的定理.

微分和积分

FilledSmallCircle Differentiation使用了缓存来避免重复计算局部结果.
FilledSmallCircle 对于不定积分,只要被积函数和积分能被初等函数,指数积分函数,多对数及其相关函数表示,则使用推广Risch算法.
FilledSmallCircle 对于其它不定积分,则使用带模式匹配的启发式化简.
FilledSmallCircle Mathematica中的算法囊括了诸如Gradshteyn Ryzhik之类标准参考书中的所有不定积分.
FilledSmallCircle 不包含奇点的定积分主要通过求不定积分的界来实现.
FilledSmallCircle 许多其它的定积分使用了Marichev-Adamchik Mellin变换方法来实现.其结果最初常常表示由Meijer G函数表出,从而可以使用Slater定理转换为超几何函数然后进行化简.
FilledSmallCircle Integrate使用了约500页Mathematica代码和600页C代码.

微分方程

FilledSmallCircle 常系数线性方程使用矩阵指数的方法求解.
FilledSmallCircle 解能表示为初等函数及其积分的变系数二阶线性方程使用Kovacic算法求解.
FilledSmallCircle 多项式系数的线性方程通过使用Mellin变换表示为特殊函数来求解.
FilledSmallCircle 如果可能,非线性方程将使用对称化简技巧求解.对一阶方程采用古典方法,而对二阶方程和方程组则使用Bocharov方法.
FilledSmallCircle 偏微分方程使用分离变量法和对称化简法求解.
FilledSmallCircle DSolve使用了约300页Mathematica代码和200页C代码.

和与乘积

FilledSmallCircle 多项式级数使用Bernoulli和Euler多项式求和.
FilledSmallCircle 包含有理函数和阶乘函数的级数使用基于广义超几何函数的Adamchik算法求和.
FilledSmallCircle 含有多重伽马函数的级数使用积分表示求和.
FilledSmallCircle Dirichlet及其相关级数使用模式匹配来求和.
FilledSmallCircle 对于无穷级数,要进行d'Alembert和Raabe收敛性检验.
FilledSmallCircle Mathematica中的算法囊括了诸如Gradshteyn Ryzhik之类的标准参考书中90%以上的求和方法.
FilledSmallCircle 乘法主要使用模式匹配实现.
FilledSmallCircle SumProduct使用了大约100页的Mathematica代码.

级数和极限

FilledSmallCircle 级数通过递归对带参数级数展开的函数进行级数展开实现.
FilledSmallCircle 极限通过级数和使用其它方法求得.