计算机的飞速发展,正在日益影响着人们对传统数值分析(即计算方法)的认识.近几十年来,人们越来越认识到计算方法的学习与研究离不开计算机,仅靠数学理论的演绎和推导还不能解决实际中的数值问题,只有与计算机科学相结合,才能研制出实用的好算法.而且好的算法必须变成数值软件后才有可能为社会创造更大的财富.当代实践证明,计算方法正在日趋明显地成为数学与计算机科学的交叉性学科.科学计算已和理论计算、实验并列为三大科学方法.
数学与计算机科学的密切关系,历史已做了回答,可以说计算机科学是吸吮着数学的乳汁而成长起来的.德国数学家Leibniz在研究组合数学时发现的二进制编码是电子计算机诞生的基础;Von Neumann提出了用流程图描述计算机运行过程后,软件的开发研究才得以发展和遍地开花;流行一时的结构化程序设计也是Bohm和Jacopini证明的一条数学原理“任何单入口和单出口,且没有“死循环”的程序,都能由三种*基本的控制结构构造出来”的产物,当前流行的面向对象程序设计也与代数学密切相关.另一方面,计算机的诞生和发展,给数学增加了新的血液,对数学的发展产生了不可估量的影响.借助于计算机可以证明玄妙的数学定理、揭示某些数学规律,以及求解许多原来令人一筹莫展的数学模型问题;由于并行计算机的诞生和发展,促使数学工作者去研究适应新一代计算机发展需要的算法——并行算法·总种规律的算法设计,从而为发展数值软件奠定了基础.因此,计算方法也得到更快发展,大量适合计算机求解的现代数值方法随之产生,并被广泛使用,成为当代科学计算的主要方法.
使用传统的计算方法解决实际问题,不但要求使用者具有一定的数学修养,而且还应具有相当的编程能力,因而使计算方法的广泛应用受到了影响.为解决这些问题,科学计算工作者经过长时间努力,将数值方法设计成算法,进而编制成数值软件,并逐步形成数值软件产业,为广大用户打开了方便之门.当今,已有不少集各种数值算法和符号演算于一体的综合数学软件包,如在国内外广为流行的Mathematica,Matlab,Maple等等.
数学软件的开发技术还在不断发展,目前流行着两种软件开发方法:即面向过程的“自顶向下,逐步细化”的结构化方法;再者为面向对象的“自下向上”的组装式开发方法,其主要工具是“类”——一种特殊模块,由它可组装成数值算法和求解程序.虽然后者是*近发展起来的开发技术,但是,由于它编程简便,使用方便,已
……