数值分析是数学的一个分支,致力于设计和分析求取数学问题近似解的算法。其研究内容包括函数求值、方程求解、积分近似计算和微分方程模拟。数值分析不仅要得出数值结果,还要确定这些结果能够以多高的精度和效率算出,以及在什么假设下可以信赖。它将数学理论与采用有限数值表示的计算联系起来。(www-math.mit.edu)
近似与误差
数值计算用有限步骤构成的过程来替代精确的数学运算。一个函数可以用采样值或有限项展开式来表示,连续区域可以用网格来替代。由此产生的近似误差,必须与计算该近似时算术运算引入的误差分别分析。(math.mit.edu)
截断误差产生于用有限近似替代无穷过程或极限过程,例如截断的泰勒级数。舍入误差则源于浮点运算在给定精度下只能表示有限个数。这两类误差可能相互影响:改进近似并不总能改善最终的计算结果。(math.mit.edu)
对于精确标量值 及其近似值 ,绝对误差为 ;当 时,相对误差为 。绝对误差保留了原量的尺度和单位,相对误差则表示误差占原量大小的比例。向量和矩阵的误差可以用范数来衡量,不过不同范数侧重于误差的不同方面。(cs.cornell.edu)
条件性与稳定性
条件性描述数学问题对输入扰动的敏感程度。条件数用于衡量这种敏感性:条件数较大,意味着数据的微小变化可能导致解的相对变化大得多。条件性是问题及其表述方式的属性,而非某个特定算法的属性。(cs.cornell.edu)
相比之下,数值稳定性关注的是算法如何传播计算误差。前向误差衡量计算结果与精确结果之间的差异。后向误差衡量需要对输入作多大改变,才能使计算结果成为精确结果。后向稳定的算法给出的是某个邻近问题的精确解,其中“邻近”须结合算术精度及相应的误差度量来理解。(cs.cornell.edu)
对于病态问题,后向稳定性并不能保证前向误差很小。区分这两个概念,有助于分析者将数据中不可避免的敏感性与计算过程引入的、可以避免的误差分开。对于线性方程组,后向误差分析可以将计算得到的解表述为一个受到微小扰动的矩阵方程的解。(cs.cornell.edu)
方程与线性代数
求根方法寻找满足 的值。二分法反复将一个两端函数值异号的区间对半分割;函数的连续性保证该区间内存在一个根。牛顿法则采用如下迭代:
在满足适当光滑性假设、接近一个单根且初始估计足够接近该根时,牛顿法具有二次收敛性。然而,初始值选择不当或导数过小,都可能导致求解失败。(cs.cornell.edu)
数值线性代数研究线性方程组、最小二乘问题,以及涉及特征值与特征向量的计算。直接法包括高斯消元法和矩阵分解。QR分解与奇异值分解在最小二乘计算及相关矩阵问题中十分重要。迭代法构造一系列逐次近似,尤其适用于大型方程组,因为这类问题的存储需求和计算成本会限制算法的选择。(cs.cornell.edu)
函数逼近与数值微积分
函数逼近为函数构造便于处理的表示形式。插值要求这种表示能够再现给定的数据值,而最小二乘拟合则使总体偏差最小。多项式或分段多项式样条都可以提供这样的表示。精度取决于函数的正则性、采样点的分布和所用的逼近空间;仅仅提高多项式次数并不能保证精度有所改善。(math.mit.edu)
数值微分利用邻近点的函数值来近似导数。例如,
对于足够光滑的函数,这一近似的截断误差为 。减小 可以降低截断误差,却可能放大减法和除法中的舍入误差,因此实际计算需要在这两类误差之间取得平衡。(cs.cornell.edu)
数值求积用加权和来近似定积分:
选择节点 和权重 ,是为了用相对较少的函数求值次数获得准确结果。许多数值求积公式是通过对插值近似而非原函数积分得到的。(github.com)
微分方程与收敛性
微分方程的数值方法用离散运算替代连续的演化或空间变化。时间步进方法用于近似求解初值问题,而偏微分方程通常还需要进行空间离散化。有限差分法用邻近网格点上数值的组合替代导数;有限元方法和谱方法则采用其他逼近空间。(math.mit.edu)
三个核心性质是相容性、稳定性和收敛性。相容性关注随着分辨率提高,离散方程是否逼近原方程。稳定性控制扰动的增长,而收敛性意味着随着离散化不断细化,数值解趋近于精确解。这三者的具体关系取决于问题和方法;仅有相容性不足以确立收敛性。因此,时间步长限制和误差传播分析是数值模拟不可或缺的组成部分。(www-math.mit.edu)
计算范畴
数值分析还研究数学优化,包括梯度法和牛顿型方法,以及数值计算过程的高效实现。其应用包括流体流动模拟及其他科学与工程计算。选择算法时,需要考虑精度要求、收敛行为、函数求值成本、内存使用量和矩阵结构。如果获得某个近似结果需要耗费过多计算资源,那么即使它在数学上很精确,也可能不具备实际可行性。(cs.cornell.edu)