跳转到内容

计算机代数系统

计算器百科,非营利的计算器专业知识百科。
春上冰月留言 | 贡献2016年3月4日 (五) 17:51的版本 (根据晴明对本词条提出的意见进行的修改)

计算机代数系统(Computer Algebra System, 简称 CAS),计算机代数(Computer Algebra)在很多时候又被广义地理解为“符号计算”(Symbolic Computation), 成为与所谓“数值计算”(Numerical Computation)相对的概念。“符号”的运算在这里代替了“数”的运算。符号可以代表整数, 有理数, 实数和复数, 也可以代表多项式, 函数, 还可以代表数学结构如集合, 群, 环, 代数等等。我们在学习和研究中用笔和纸进行的数学运算多为符号运算。

代数功能

计算机代数系统能计算代数式,与传统的数值运算不同的是,计算机代数系统把一个字符串(比如 x)视作一个“符号”而不是一个“值”。对于计算机来说,下列的算式都属于代数运算的范畴,都需要计算机代数系统才能计算:

代数式的化简

最简单的计算机代数系统示例就是代数式的化简,好比是数值运算里的 1+1=2

a+a=2a
x2=|x|

代数式的微积分、极限、三角函数、指数函数

sin(ln(x))dx=xsin(ln(x))2xcos(ln(x))2
dydxxx=xx(ln(x)+1)
limx0xsin(x)=1
+1cos(x)x2dx=π

代数式的求和与求积

k=1n1k(k+1)=1n

多项式的因式分解和展开

factor(x515x4+85x3225x2+274x120)=(x1)(x2)(x3)(x4)(x5)
expand((x+1)(x+2)(x+3)(x+4)(x+5))=x5+15x4+85x3+225x2+274x+120

使用特征方程法求解数列通项公式

rSolve(an+2=an+1+an,an,[a1=1,a2=1])=55(1+52)n55(152)n

矩阵的超越函数

(1463)=(27+33i52723i53733i537+23i5)

其他功能

有些算式看起来属于数值运算的范畴,但是它们也需要计算机代数系统才能计算,或者才能得到正确结果。

高精度求值

有时所需要的精度已经远远超出了二进制直接处理所能容纳的精度,必须把数值作为“符号”看待时,也属于计算机代数系统的范畴

228=115792089237316195423570985008687907853269984665640564039457584007913129639936

精确数值运算

有时候需要把一些类似于 πe 的常数代入算式中求值,并将其视作一个特殊的“符号”而不是它的值,或者希望输出时可以获取带有这些常数的结果,如 3π2 时,也属于计算机代数系统的范畴。

sin(2π)=0
sin1(1)=π2

需要注意的是,很多函数计算器,比如 CASIO fx-82CN XCASIO fx-82ESTI-36X等,都支持像上面这样计算算式,但是计算的实质是近似看待,不属于计算机代数系统的范畴。例如,这些计算器在计算的时候,只能显示带一重根号或带有 π 的结果,而不能显示带多重根号的结果:

sin(π4)=22
sin1(222)=18π
sin(π8)=0.3826834324

另一个表现就是对于某些十分近似的式子可能会产生错误的结果:[1]

例如,在 CASIO 的 ES 或者 ClassWiz 系列函数机中,计算下面这个式子,会得到一个含有 π 的答案:

96663=3465026231680π

然而这个答案是错误的,或者说是不精确的,经过计算可得:

966633465026231680π5.21540641785×108

大数求和求积

如果数值求和求积并不会以传统方式进行循环,而是先计算代数结果再代入计算以提高速度,这也属于计算机代数系统的范畴,例如,在TI-Nspire CAS计算器中,默认设置的情况下:

这个式子将会被视作数值运算并以数值运算方式进行:x=110000x=50005000
这个式子将会被视作代数运算并使用计算机代数系统:x=1100000000x=5000000050000000

拥有计算机代数系统的计算器

请勿大量罗列
此处仅列举同类事物的典型事例。您可以继续添加,但是添加的事例必须具有代表性


此处仅列举自带计算机代数系统的计算器,通过安装软件(如 CASIO fx-CG20 可以通过安装 Eigenmath 来实现计算机代数系统)则不会被列入此列表中。

卡西欧

德州仪器

惠普

请参考分类:拥有计算机代数系统的计算器以获取更多相关信息。

支持计算机代数系统的计算软件

开源软件

商业软件

参考