关于作者

 一个毕业于北京大学数学力学系,在中国科学院计算所、计算中心和网络中心工作过,在澳大利亚科工组织DMS、香港浸会学院数学系和中国21世纪议程管理中心等处工作过,多次获国家和中科院科技奖并享受政府特殊津贴的退休老头。现在在【中国科普博览】网“科学新语林”栏目里开设一个《数学与计算机》的个人专栏,愿和爱好数学与计算机的各界网友和青少年朋友,谈谈对数学与计算机的看法、想法。

计算机数学

张建中
2011年10月31日
计算机数学,从应用、教学角度上看,就是在计算机研制、开发、销售、应用、管理和学习等过程中用到的一些数学知识。这是一种对“计算机数学”的广义说法。
计算机含众多科学技术学科,发展迅速,应用广泛,用到的数学科学知识,除个别极为抽象的纯理论数学外,可以说是无所不包、无时不在、无处不用。以计算机软件为例,核心部分多为数学,数学软件更是如此。
数学是一门古老的科学,自然科学的基础;计算机科学在一定意义下是数学的一个分支。计算机理论其实就是很多数学知识的融合:软件工程需要图论,密码学需要数论,计算机系统测试、软件系统测试需要组合数学,计算机整体设计、计算机软、硬件研制和应用等需要更多的数学知识,如代数、几何、函数、离散数学、概率统计、管理数学、算法等等。计算机科学最大的特点是信息和知识更新快,随着数学知识与计算机理论的进一步结合,数模构建、数据挖掘、模式识别、神经网络等分支得到了迅速发展和广泛应用,控制论、人工智能、模糊数学和分形科学等也都促进了计算机应用、软件理论、信息管理技术的发展。
计算机数学,从研究、发展角度上看,就是基于计算机的一些特点,如每秒亿次以上的高速运算、亿字节以上的海量存储和具有一定判断、控制形成的初步形式逻辑思维等功能发展起来的一些新的数学分支或算法,如智能算法、蒙特卡罗方法,数据挖掘和知识发现、数学定理的机器证明等一些学科分支和神经元网络计算、遗传性搜索算法等一些新型高效算法。这是一种对“计算机数学”的狭义说法。
数学内容丰富,家族庞大,应用广泛,想以简练的语言、优美的文字、无纰漏的把握数学的全貌及其特点和本质不易做到,问题很多,困难不少。对计算机数学,也是如此,如何界定其内涵和外延就是其中的一个难题。
从宏观角度上看,计算机科学和数学科学有何异同?又有什么关系?
计算机科学是对计算机体系、软件和应用进行探索性、理论性研究的学科,应用性较强;数学科学是对抽象的、与其物性无关的数与形及其体系和结构模式研究的理论科学,是各种科学的基础。从表面上看,它们好像没有太多的关系,但实际上二者存在着千丝万缕的联系。从计算机科学产生之日到整个发展过程,无不伴随着数学科学的发展。数学对计算机起着不可替代、至关重要的作用。
计算机是一种进行数值计算、逻辑推理、符号处理等方面的信息加工机器,有人就称它为数学机器;近年由于计算机应用的拓广,系统软件与应用软件发展很快,形成了一门新兴的工业,人们认为这是继土木工程,机械工程、电子工程之后的一种新的工程—--软件工程。由于它具有数学的特征,有人把它称之为数学工程。
由于计算机与数学之间存在的特殊关系,计算机科学一直在不断地从数学的概念、方法和理论中吸取营养;反过来,计算机科学的发展也为数学研究提供新的问题、领域、方法和工具。近年来不少人讨论过数学与计算机科学的关系问题,都强调其间的密切联系、相互之间的借鉴和渗透。同时,人们也都承认,计算机科学仍有其自己的特性,它并非数学的一个分支,而有自身的独立性。正确说法应该是:由于计算机及程序的特殊性,计算机科学是与数学有特殊关系的一门新兴的技术科学。这种特殊关系使得计算机科学与数学之间有一公共的交界领域,其范围相当广泛,内容相当丰富,并富有生命力。这一领域既是理论计算机科学的一部分,也是应用数学的一部分。特别,计算机程序与数学具有许多共同的特性,如高度的精确性,广泛的应用性,与推理的严谨可靠性等。因此,程序被广泛认为是具有数学性质的学科。