计算机代数
计算机领域术语
计算机代数(Computer Algebra)在很多时候又被广义地理解为“符号计算”(Symbolic Computation)、成为与所谓“数值计算”(Numerical Computation)相对的概念。
基本概念
“符号”的运算在这里代替了“数”的运算。这是一种智能化的计算,处理的是符号。符号可以代表整数,有理数,实数和复数,也可以代表多项式,函数,还可以代表数学结构如集合,群,环,代数等等。我们在学习和研究中用笔和纸进行的数学运算多为符号运算。
主要应用
利用计算机代数,我们可以完成许多令人不可思议的事情,例如可以对代数方程组进行精确的求解,对多项式进行因子分解,对复杂代数表达式进行化简规约,对函数进行符号积分(求出原函数),对微分方程求出精确解等等。你可以在看这里的小例子和稍微大一些的例子。
传统的代数计算冗长繁杂,而现代的计算机技术为大型的符号计算提供了可能性。而关键的问题就在于如何把抽象的代数理论算法化,使其高效地处理形形色色的代数问题。与大多数的数学分支不同,计算机代数更讲究构造性而非存在性,一个优美的存在性定理或许在计算机代数系统的设计中起不了决定性的作用。不过话虽如此,强大的计算机代数系统不仅是各类工程技术的助手,对纯粹科学研究也起着不可忽略的推动作用。
计算机代数的算法是其研究的核心内容,时间和空间上高效的算法是大家所不懈追求的目标。
相关系统
各种算法化的代数理论从Euclid时期就产生了。从计算机发明到现在的60多年时间里,用计算机进行的科学计算主要是数值计算,如天气预报,油藏模拟,航天等领域的大规模数值计算。用计算机进行代数运算的研究在国外发展非常迅速,涉及的数学领域也在不断地扩大,真正意义上的计算机代数系统(Computer Algebra System, CAS)大约产生在20世纪6、70年代,最初的CAS目的是致力于人工智能的研究。
早期著名CAS有Reduce,Derive,Axiom等等。
现在最广为人知的恐怕要数Wolfram Research的Mathematica(Mathematica的内部实现原理),和Maplesoft的Maple了,这两家都是巨型的商业公司,产品都价格不菲(一套软件在$2000上下),都提供着丰富的数学类资源,比如大名鼎鼎的MathWorld
商业软件之外还有开源的Maxima和C++函数库GiNaC等等。
中科院数学机械化重点实验室的数学机械化自动推理平台MMP也以计算机代数系统作为支撑。
基本功能
一个常见的计算机代数系统往往包含以下的基本功能:
超大型整数快速运算、任意精度的浮点数运算 整数的素数判定、因子分解、数论函数等 多项式的基本运算、最大公因子、因式分解等 矩阵的基本运算,线性方程组,特征值,矩阵函数,精确线性代数等 方程求解和方程组求解 丰富的基本函数与特殊函数支持,数学常数 表达式的化简与归约 极限过程 符号微分 符号积分,符号求和 微分方程符号求解 实际上,一个广泛应用的计算机代数系统除了符号计算的支持以外,都或多或少的拥有以下的一些特性:
当符号计算无法顺利解决问题时采用各种数值方法 数据可视化 基本的动画支持 良好的用户前端,数学公式输入、输出、保存等 可扩展的编程系统 声音与图像处理 强大的联机帮助。
参考资料
计算机代数.豆瓣读书.
最新修订时间:2023-02-18 21:53
目录
概述
基本概念
主要应用
参考资料