数值分析是研究连续问题的算法的科学,其发展历史可以追溯到数学家对数值分析和近似解的探索。早在古巴比伦和古埃及时期,人们就开始尝试使用数值分析解决实际问题。公元前3世纪,欧几里得在其著作《几何原本》中介绍了一种求解线性方程组的方法,该方法就是我们今天所说的“欧几里得算法”。阿基米德使用逼近法计算圆周率,通过内接和外切正多边形来逼近圆的面积的方法得到圆周率的上、下界。在中国,数学家也对数值分析方法进行了探索。魏晋时期的数学家刘徽首创割圆术,为计算圆周率建立了严密的理论和完善的算法。割圆术是通过不断倍增圆内接正多边形的边数来求圆周率的方法,如图1-1所示。
图1-1 割圆术
数值分析是应用数学的一个重要分支,其核心内容是设计复杂工程问题的近似求解算法。一般地,这些算法的目的是将连续的无穷维问题离散化,转化为一个可解的离散有限维问题,从而通过数值分析获得近似解。离散化的过程通常采用的是各种数值逼近方法,如插值、拟合、数值积分等。通过这些方法,原始的连续问题被近似为一个离散的代数问题,如非线性方程组求解、无约束最优化问题求解、线性规划问题求解等。
数值分析方法的设计和分析是进行数值分析的关键。一个好的数值分析方法应该具有高效、稳定、收敛等特性。方法的效率关系到计算速度和需要的计算资源,稳定性关系到方法对输入数据和舍入误差的敏感程度,收敛性关系到方法能否在有限的步骤内给出满足精度要求的近似解。数值分析学家需要在方法的效率、稳定性和收敛性之间进行权衡,设计出适用于特定问题的最优方法。
如果没有数值分析,现代科学和工程技术的发展将受到极大限制。在当今的科学研究和工程应用中,人们经常遇到各种复杂的数学模型和海量的数据,对其进行解析求解往往是不可能的。数值分析为此提供了有效的工具和方法,使得人们能够通过数值模拟和计算机实验来研究复杂系统的行为,预测对象未来的发展趋势,并优化设计方案。数值分析已经成为现代科学和工程研究不可或缺的一部分。
数值分析的典型应用如下。
气象学:大气模型在模拟大气层行为方面发挥着至关重要的作用,它不仅有助于理解人类活动对大气的影响,还提高了天气预报的准确性。大气模型是基于控制大气运动的原始动力学方程构建的数学模型,通过引入湍流扩散模型、辐射模型、湿过程(云和降水)模型、热交换模型、土壤模型、植被模型、地表水模型、地形效应模型和对流模型等参数化方案来补充这些方程。目前,大多数大气模型采用数值分析方法,即离散化运动方程来预测各种尺度的现象,包括微尺度的龙卷风和边界层涡旋、建筑上的亚微尺度湍流,以及天气流和全球流。模型的应用范围可以是覆盖整个地球的全球域,也可以是针对某特定区域的有限区域。
计算金融:在这个全球化、高度互联的金融体系中,资产交易涉及众多跨地域、跨时区的市场参与者,呈现出前所未有的复杂性。现代商业为了实现资源的最优配置,必须借助先进的优化方法。然而,这些高度多样化的投资策略蕴含的风险评估与表征往往依赖复杂的数学与计算模型。因此,寻求高效、精确的数值分析方法,对于应对金融市场挑战至关重要。
除此之外,数值分析的应用领域还包括计算生物学、城市复杂系统等,甚至机器学习和人工智能也和数值分析关系密切。
有限元法是一种重要的数值计算方法,它通过变分方法,使得误差函数达到最小值并产生稳定解。类比于通过连接多段微小直线来逼近圆的思想,有限元法包含了一切可能的方法,这些方法将许多被称为有限元的小区域上的简单方程联系起来,并据此来估计更大区域上的复杂方程。它将求解域看作是由许多被称为有限元的小的互连子域组成的,先对每个单元假定一个合适的(较简单的)近似解,然后推导求解这个域总的满足条件(如结构的平衡条件),从而得到问题的解。