计算机代数系统:修订间差异
外观
无编辑摘要 |
无编辑摘要 |
||
| 第1行: | 第1行: | ||
{{ | {{尚未完工}} | ||
'''计算机代数系统'''(Computer Algebra System, 简称 [[CAS]]),是以字符串为运算单位的计算软件,可以进行数学表达式的符号运算。 | '''计算机代数系统'''(Computer Algebra System, 简称 [[CAS]]),是以字符串为运算单位的计算软件,可以进行数学表达式的符号运算。 | ||
== 功能 == | == 代数功能 == | ||
计算机代数系统能计算[[代数式]],与传统的[[数值运算]]不同的是,计算机代数系统把一个字符串(比如 <math>x</math>)视作一个“符号”而不是一个“值”。对于计算机来说,下列的算式都属于代数运算的范畴,都需要计算机代数系统才能计算: | 计算机代数系统能计算[[代数式]],与传统的[[数值运算]]不同的是,计算机代数系统把一个字符串(比如 <math>x</math>)视作一个“符号”而不是一个“值”。对于计算机来说,下列的算式都属于代数运算的范畴,都需要计算机代数系统才能计算: | ||
| 第10行: | 第10行: | ||
{{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>}} | ||
| 第17行: | 第16行: | ||
{{Code|<math>\lim_{x \to 0} \frac{x}{\sin(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>\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>2^{2^{8}} = 115792089237316195423570985008687907853269984665640564039457584007913129639936</math>}} | {{Code|<math>2^{2^{8}} = 115792089237316195423570985008687907853269984665640564039457584007913129639936</math>}} | ||
=== 精确数值运算 === | === 精确数值运算 === | ||
有时候需要把一些类似于 <math>\pi</math>、<math>e</math> 的常数代入算式中求值,并将其视作一个特殊的“符号”而不是它的值,或者希望输出时可以获取带有这些常数的结果,如 <math>\frac{3 \pi}{2}</math> 时,也属于计算机代数系统的范畴。 | 有时候需要把一些类似于 <math>\pi</math>、<math>e</math> 的常数代入算式中求值,并将其视作一个特殊的“符号”而不是它的值,或者希望输出时可以获取带有这些常数的结果,如 <math>\frac{3 \pi}{2}</math> 时,也属于计算机代数系统的范畴。 | ||
{{Code|<math>\sin(2 \pi) = 0</math>}} | {{Code|<math>\sin(2 \pi) = 0</math>}} | ||
{{Code|<math>\sin^{-1}(1) = \frac{\pi}{2}</math>}} | {{Code|<math>\sin^{-1}(1) = \frac{\pi}{2}</math>}} | ||
需要注意的是,很多函数计算器,比如 [[CASIO fx-82CN X]],[[TI-36X]]等,都支持像上面这样计算算式,但是计算的实质是近似看待,'''不属于'''计算机代数系统的范畴。这种方法有一个 BUG 就是对于某些十分近似的式子产生错误的结果: | |||
例如,在 CASIO 系列函数机中,计算下面这个式子,会得到一个含有 <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>}} | |||
=== 反函数的抵消 === | |||
如果数值运算之前,互为反函数的函数会抵消,从而得出精确解,这也属于计算机代数系统的范畴。 | |||
{{Code|<math>\sin^{-1}(\cos^{-1}(\tan^{-1}(\tan(\cos(\sin(9)))))) = 9</math>}} | |||
== 参考 == | |||
# [http://www.cncalc.org/thread-9900-1-1.html 给函数机们出道数学题 - cnCalc论坛] | |||
2016年2月20日 (六) 08:07的版本
此条目尚未完工。
此条目尚未完工。原作者将会继续进行编写,而您也可以对该条目进行编辑。
此条目尚未完工。原作者将会继续进行编写,而您也可以对该条目进行编辑。
计算机代数系统(Computer Algebra System, 简称 CAS),是以字符串为运算单位的计算软件,可以进行数学表达式的符号运算。
代数功能
计算机代数系统能计算代数式,与传统的数值运算不同的是,计算机代数系统把一个字符串(比如 )视作一个“符号”而不是一个“值”。对于计算机来说,下列的算式都属于代数运算的范畴,都需要计算机代数系统才能计算:
代数式的化简
最简单的计算机代数系统示例就是代数式的化简,好比是数值运算里的 。
代数式的微积分、极限、三角函数、指数函数
代数式的求和与求积
多项式的因式分解和展开
使用特征方程法求解数列通项公式
其他功能
有些算式看起来属于数值运算的范畴,但是它们也需要计算机代数系统才能执行
高精度求值
有时所需要的精度已经远远超出了二进制直接处理所能容纳的精度,必须把数值作为“符号”看待时,也属于计算机代数系统的范畴
精确数值运算
有时候需要把一些类似于 、 的常数代入算式中求值,并将其视作一个特殊的“符号”而不是它的值,或者希望输出时可以获取带有这些常数的结果,如 时,也属于计算机代数系统的范畴。
需要注意的是,很多函数计算器,比如 CASIO fx-82CN X,TI-36X等,都支持像上面这样计算算式,但是计算的实质是近似看待,不属于计算机代数系统的范畴。这种方法有一个 BUG 就是对于某些十分近似的式子产生错误的结果:
例如,在 CASIO 系列函数机中,计算下面这个式子,会得到一个含有 的答案:
然而这个答案是错误的,或者说是不精确的,进过计算可得:
大数求和求积
如果数值求和求积并不会以传统方式进行循环,而是先计算代数结果再代入计算以提高速度,这也属于计算机代数系统的范畴,例如,在TI-Nspire CAS计算器中,默认设置的情况下:
这个式子将会被视作数值运算并以数值运算方式进行:
这个式子将会被视作代数运算并使用计算机代数系统:
反函数的抵消
如果数值运算之前,互为反函数的函数会抵消,从而得出精确解,这也属于计算机代数系统的范畴。