跳转到内容

计算机代数系统:修订间差异

计算器百科,非营利的计算器专业知识百科。
春上冰月留言 | 贡献
无编辑摘要
春上冰月留言 | 贡献
无编辑摘要
第1行: 第1行:
{{中|4小时}}
{{尚未完工}}
'''计算机代数系统'''(Computer Algebra System, 简称 [[CAS]]),是以字符串为运算单位的计算软件,可以进行数学表达式的符号运算。
'''计算机代数系统'''(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>\sin^{-1}(\cos^{-1}(\tan^{-1}(\tan(\cos(\sin(9)))))) = 9</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>\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>}}
*多项式因式分解和展开
如果数值求和求积并不会以传统方式进行循环,而是先计算代数结果再代入计算以提高速度,这也属于计算机代数系统的范畴,例如,在[[TI-Nspire CAS]]计算器中,默认设置的情况下:
    {{Code|这个式子将会被视作数值运算并以数值运算方式进行:<math>\sum_{x=1}^{10000} x = 50005000</math>}}
    {{Code|这个式子将会被视作代数运算并使用计算机代数系统:<math>\sum_{x=1}^{100000000} x = 5000000050000000</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> 时,也属于计算机代数系统的范畴。
    {{Code|<math>\sin(2 \pi) = 0</math>}}
    {{Code|<math>\sin^{-1}(1) = \frac{\pi}{2}</math>}}

2016年2月20日 (六) 07:24的版本

此条目尚未完工。
此条目尚未完工。原作者将会继续进行编写,而您也可以对该条目进行编辑

计算机代数系统(Computer Algebra System, 简称 CAS),是以字符串为运算单位的计算软件,可以进行数学表达式的符号运算。

功能

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

代数式的化简

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

a+a=2a
x2=|x|

如果数值运算之前,互为反函数的函数会抵消,从而得出精确解,这也属于计算机代数系统的范畴。

sin1(cos1(tan1(tan(cos(sin(9))))))=9

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

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

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

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

多项式的因式分解和展开

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

高精度求值

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

228=115792089237316195423570985008687907853269984665640564039457584007913129639936

精确数值运算

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

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