算法中的符号数学

时间:2012-08-30 11:40:49

标签: algorithm math

我要去throgh算法。提到算法的应用之一是符号数学。我发现以下字典定义如下。

  

使用计算机来操纵数学方程式和   符号形式的表达,而不是操纵数字   这些符号代表的数量。可以使用这样的系统   用于符号整合或区分,替代一个   表达到另一个,简化表达,改变   主题等。最着名的象征性数学软件之一   包是Mathematica。

我的问题是什么是声明“符号形式的方程和表达式,而不是操纵这些符号所代表的数字量。”意思?

谢谢!

1 个答案:

答案 0 :(得分:4)

  

我的问题是什么是“象征性的方程式和表达式”   形式,而不是操纵所代表的数量   用这些符号。“是吗?

到第二步,这样的意思是:

>>> x = 2.3
>>> y = 9.8
>>> z = x+2*y
>>> z
21.900000000000002
>>> type(z)
<type 'float'>

您将xyz视为数字名称。你正在使用计算机作为一个老式的计算器,它只能算术。 z = x+2*y执行右侧描述的算术运算,并将结果数字与z相关联。

通过“象征形式”,更像这样的意思是:

sage: x, y, z = var("x y z")
sage: z == x+2*y
z == x + 2*y
sage: eq = z == x+2*y
sage: eq
z == x + 2*y
sage: type(z)
<type 'sage.symbolic.expression.Expression'>
sage: parent(eq)
Symbolic Ring
sage: eq.solve(y)
[y == -1/2*x + 1/2*z]

其中xyz可以是表达式,也可以是某些结构中的变量,而不仅仅是特定数字的名称,可以执行更高级别的操作。< / p>