计算机代数系统:修订间差异
无编辑摘要 |
小 Missing link correction |
||
| (未显示3个用户的16个中间版本) | |||
| 第1行: | 第1行: | ||
'''计算机代数系统'''(Computer Algebra System, 简称 [[CAS]]),计算机代数(Computer Algebra)在很多时候又被广义地理解为“符号计算”(Symbolic Computation), 成为与所谓“[[数值计算]]”(Numerical Computation)相对的概念。“符号”的运算在这里代替了“数”的运算。符号可以代表整数, 有理数, 实数和复数, 也可以代表多项式, 函数, 还可以代表数学结构如集合, 群, 环, 代数等等。我们在学习和研究中用笔和纸进行的数学运算多为符号运算。 | |||
'''计算机代数系统'''(Computer Algebra System, 简称 [[CAS]]), | |||
== | == 代数功能 == | ||
计算机代数系统能计算[[代数式]],与传统的数值运算不同的是, | 计算机代数系统能计算[[代数式]],与传统的[[数值运算]]不同的是,计算机代数系统把一个字符串(比如 <math>x</math>)视作一个“符号”而不是一个“值”。对于计算机来说,下列的算式都属于代数运算的范畴,都需要计算机代数系统才能计算: | ||
=== 代数式的化简 === | |||
最简单的计算机代数系统示例就是代数式的化简,好比是数值运算里的 <math>1 + 1 = 2</math> 。 | |||
{{Code|<math>a+a = 2 a</math>}} | {{Code|<math>a+a = 2 a</math>}} | ||
{{Code|<math>\sqrt{x^2} = \left\vert x \right\vert</math>}} | {{Code|<math>\sqrt{x^2} = \left\vert x \right\vert</math>}} | ||
=== 代数式的微积分、极限、三角函数、指数函数 === | |||
{{Code|<math>\int_{}^{} \sin(\ln(x))\,dx = \frac{x\sin(\ln(x))}{2} - \frac{x\cos(\ln(x))}{2}</math>}} | {{Code|<math>\int_{}^{} \sin(\ln(x))\,dx = \frac{x\sin(\ln(x))}{2} - \frac{x\cos(\ln(x))}{2}</math>}} | ||
{{Code|<math>{\operatorname{d}\!y\over\operatorname{d}\!x} x^x = x^x (\ln(x)+1) </math>}} | {{Code|<math>{\operatorname{d}\!y\over\operatorname{d}\!x} x^x = x^x (\ln(x)+1) </math>}} | ||
{{Code|<math>\lim_{x \to 0} \frac{x}{\sin(x)} = 1</math>}} | |||
{{Code|<math>\int_{-\infty}^{+\infty} \frac{1-\cos(x)}{x^2}\,dx = \pi</math>}} | |||
=== 代数式的求和与求积 === | |||
{{Code|<math>\sum_{k=1}^n \frac{1}{k(k+1)} = - \frac{1}{n}</math>}} | {{Code|<math>\sum_{k=1}^n \frac{1}{k(k+1)} = - \frac{1}{n}</math>}} | ||
=== 多项式的因式分解和展开 === | |||
{{Code|<math>factor(x^5-15x^4+85x^3-225x^2+274x-120) = (x-1)(x-2)(x-3)(x-4)(x-5)</math>}} | {{Code|<math>factor(x^5-15x^4+85x^3-225x^2+274x-120) = (x-1)(x-2)(x-3)(x-4)(x-5)</math>}} | ||
{{Code|<math>expand((x+1)(x+2)(x+3)(x+4)(x+5)) = x^5+15x^4+85x^3+225x^2+274x+120</math>}} | {{Code|<math>expand((x+1)(x+2)(x+3)(x+4)(x+5)) = x^5+15x^4+85x^3+225x^2+274x+120</math>}} | ||
=== 使用特征方程法求解数列通项公式 === | |||
{{Code|<math>rSolve(a_{n+2} = a_{n+1} + a_n, a_n, [a_1 = 1, a_2 =1]) = \frac{\sqrt{5}}{5}(\frac{1+\sqrt{5}}{2})^n - \frac{\sqrt{5}}{5}(\frac{1-\sqrt{5}}{2})^n</math>}} | {{Code|<math>rSolve(a_{n+2} = a_{n+1} + a_n, a_n, [a_1 = 1, a_2 =1]) = \frac{\sqrt{5}}{5}(\frac{1+\sqrt{5}}{2})^n - \frac{\sqrt{5}}{5}(\frac{1-\sqrt{5}}{2})^n</math>}} | ||
=== 矩阵的超越函数 === | |||
{{Code|<math>\sqrt{\begin{pmatrix}1 & 4 \\6 & 3\end{pmatrix}}=\begin{pmatrix}\frac{2\sqrt{7} + 3\sqrt{3}i}{5} & \frac{2\sqrt{7} - 2\sqrt{3}i}{5}\\ \frac{3\sqrt{7} - 3\sqrt{3}i}{5} & \frac{3\sqrt{7} + 2\sqrt{3}i}{5}\end{pmatrix}</math>}} | |||
== 其他功能 == | |||
有些算式看起来属于数值运算的范畴,但是它们也需要计算机代数系统才能计算,或者才能得到正确结果。 | |||
=== 高精度求值 === | |||
有时所需要的精度已经远远超出了二进制直接处理所能容纳的精度,必须把数值作为“符号”看待时,也属于计算机代数系统的范畴 | |||
{{Code|<math>2^{2^{8}} = 115792089237316195423570985008687907853269984665640564039457584007913129639936</math>}} | {{Code|<math>2^{2^{8}} = 115792089237316195423570985008687907853269984665640564039457584007913129639936</math>}} | ||
=== 精确数值运算 === | |||
有时候需要把一些类似于 <math>\pi</math>、<math>e</math> 的常数代入算式中求值,并将其视作一个特殊的“符号”而不是它的值,或者希望输出时可以获取带有这些常数的结果,如 <math>\frac{3 \pi}{2}</math> 时,也属于计算机代数系统的范畴。 | |||
{{Code|<math>\sin(2 \pi) = 0</math>}} | |||
{{Code|<math>\sin^{-1}(1) = \frac{\pi}{2}</math>}} | |||
需要注意的是,很多函数计算器,比如 [[CASIO fx-82CN X]],[[CASIO fx-82ES]],[[TI-36X]]等,都支持像上面这样计算算式,但是计算的实质是近似看待,'''不属于'''计算机代数系统的范畴。例如,这些计算器在计算的时候,'''只能显示带一重根号或带有 <math>\pi</math> 的结果''',而不能显示带多重根号的结果: | |||
{{Code|<math>\sin(\frac{\pi}{4}) = \frac{\sqrt{2}}{2}</math>}} | |||
{{Code|<math>\sin^{-1}(\frac{\sqrt{2 - \sqrt{2}}}{2}) = \frac{1}{8}\pi</math>}} | |||
{{Code|<math>\sin(\frac{\pi}{8}) = 0.3826834324</math>}} | |||
另一个表现就是对于某些十分近似的式子可能会产生错误的结果:<ref>[http://www.cncalc.org/thread-9900-1-1.html 给函数机们出道数学题 - cnCalc论坛]</ref> | |||
例如,在 CASIO 的 [[ES]] 或者 [[ClassWiz]] 系列函数机中,计算下面这个式子,会得到一个含有 <math>\pi</math> 的答案: | |||
{{Code|<math>9^{6^{6^{6^{-3}}}} = \frac{346502623}{1680} \pi</math>}} | |||
然而这个答案是'''{{Color|red|错误}}'''的,或者说是'''{{Color|red|不精确}}'''的,经过计算可得: | |||
{{Code|<math>9^{6^{6^{6^{-3}}}} - \frac{346502623}{1680} \pi \approx 5.21540641785 \times 10^{-8}</math>}} | |||
=== 大数求和求积 === | |||
如果数值求和求积并不会以传统方式进行循环,而是先计算代数结果再代入计算以提高速度,这也属于计算机代数系统的范畴,例如,在[[TI-Nspire CAS]]计算器中,默认设置的情况下: | |||
{{Code|这个式子将会被视作数值运算并以数值运算方式进行:<math>\sum_{x=1}^{10000} x = 50005000</math>}} | |||
{{Code|这个式子将会被视作代数运算并使用计算机代数系统:<math>\sum_{x=1}^{100000000} x = 5000000050000000</math>}} | |||
== 拥有计算机代数系统的计算器 == | |||
{{请勿大量罗列}} | |||
此处仅列举'''自带'''计算机代数系统的计算器,通过安装[[Add-in|插件]](如 [[CASIO fx-CG20]] 可以通过安装 [[Eigenmath]] 来实现计算机代数系统)或者某些[[计算器程序|程序]](如 不带CAS功能的黑白屏 [[TI-84 Plus]] 安装 [[Zoom500]]<ref>[http://www.zoommath.com/products/zoom-math-500-calculus/ Zoom500官方介绍页面]</ref> 来实现计算机代数系统)则不会被列入此列表中。 | |||
=== 卡西欧 === | |||
* [[ClassPad]] 系列: [[fx-CP400]], [[ClassPad 330 PLUS]], [[ClassPad 330]], [[ClassPad 300 PLUS]], [[ClassPad 300]] | |||
* [[AFX]] 系列: [[ALGEBRA FX 2.0]], [[ALGEBRA FX 2.0 PLUS]] | |||
=== 德州仪器 === | |||
* [[TI-Nspire CAS]]系列:[[TI-Nspire CAS]],[[TI-Nspire CX CAS]],[[TI-Nspire CX-C CAS]],[[TI-Nspire CM-C CAS]] | |||
* [[68k]]系列:[[TI-92]],[[TI-92 Plus]],[[Voyage 200]],[[TI-89]],[[TI-89 Titanium]] | |||
=== 惠普 === | |||
* [[HP-Prime|Prime]] 系列:[[HP-Prime]] | |||
* [[HP-Apple系列|HP-Apple]] 系列:[[HP-40GS]],[[HP-50G]] | |||
''请参考{{分类|拥有计算机代数系统的计算器}}以获取更多相关信息。'' | |||
== 支持计算机代数系统的计算软件 == | |||
=== 开源软件 === | |||
* [[Xcas]]/[[Giac]] | |||
* [[Eigenmath]] | |||
=== 商业软件 === | |||
* [[Wolfram Mathematica]] | |||
* [[Maple]] | |||
* [[MATLAB]] | |||
== 参考 == | |||
<references /> | |||
2018年2月17日 (六) 13:38的最新版本
计算机代数系统(Computer Algebra System, 简称 CAS),计算机代数(Computer Algebra)在很多时候又被广义地理解为“符号计算”(Symbolic Computation), 成为与所谓“数值计算”(Numerical Computation)相对的概念。“符号”的运算在这里代替了“数”的运算。符号可以代表整数, 有理数, 实数和复数, 也可以代表多项式, 函数, 还可以代表数学结构如集合, 群, 环, 代数等等。我们在学习和研究中用笔和纸进行的数学运算多为符号运算。
代数功能
计算机代数系统能计算代数式,与传统的数值运算不同的是,计算机代数系统把一个字符串(比如 )视作一个“符号”而不是一个“值”。对于计算机来说,下列的算式都属于代数运算的范畴,都需要计算机代数系统才能计算:
代数式的化简
最简单的计算机代数系统示例就是代数式的化简,好比是数值运算里的 。
代数式的微积分、极限、三角函数、指数函数
代数式的求和与求积
多项式的因式分解和展开
使用特征方程法求解数列通项公式
矩阵的超越函数
其他功能
有些算式看起来属于数值运算的范畴,但是它们也需要计算机代数系统才能计算,或者才能得到正确结果。
高精度求值
有时所需要的精度已经远远超出了二进制直接处理所能容纳的精度,必须把数值作为“符号”看待时,也属于计算机代数系统的范畴
精确数值运算
有时候需要把一些类似于 、 的常数代入算式中求值,并将其视作一个特殊的“符号”而不是它的值,或者希望输出时可以获取带有这些常数的结果,如 时,也属于计算机代数系统的范畴。
需要注意的是,很多函数计算器,比如 CASIO fx-82CN X,CASIO fx-82ES,TI-36X等,都支持像上面这样计算算式,但是计算的实质是近似看待,不属于计算机代数系统的范畴。例如,这些计算器在计算的时候,只能显示带一重根号或带有 的结果,而不能显示带多重根号的结果:
另一个表现就是对于某些十分近似的式子可能会产生错误的结果:[1]
例如,在 CASIO 的 ES 或者 ClassWiz 系列函数机中,计算下面这个式子,会得到一个含有 的答案:
然而这个答案是错误的,或者说是不精确的,经过计算可得:
大数求和求积
如果数值求和求积并不会以传统方式进行循环,而是先计算代数结果再代入计算以提高速度,这也属于计算机代数系统的范畴,例如,在TI-Nspire CAS计算器中,默认设置的情况下:
拥有计算机代数系统的计算器
此处仅列举自带计算机代数系统的计算器,通过安装插件(如 CASIO fx-CG20 可以通过安装 Eigenmath 来实现计算机代数系统)或者某些程序(如 不带CAS功能的黑白屏 TI-84 Plus 安装 Zoom500[2] 来实现计算机代数系统)则不会被列入此列表中。
卡西欧
- ClassPad 系列: fx-CP400, ClassPad 330 PLUS, ClassPad 330, ClassPad 300 PLUS, ClassPad 300
- AFX 系列: ALGEBRA FX 2.0, ALGEBRA FX 2.0 PLUS
德州仪器
- TI-Nspire CAS系列:TI-Nspire CAS,TI-Nspire CX CAS,TI-Nspire CX-C CAS,TI-Nspire CM-C CAS
- 68k系列:TI-92,TI-92 Plus,Voyage 200,TI-89,TI-89 Titanium
惠普
请参考分类:拥有计算机代数系统的计算器以获取更多相关信息。