23

根据维基

在数学和计算机科学中,计算机代数,也称为符号计算或代数计算,是指研究和开发用于处理数学表达式和其他数学对象的算法和软件的科学领域。

符号计算是否专注于符号操作和计算?Lisp 程序以 AST 的形式编写,原子作为叶子。Lisp 被称为符号计算语言。这是否意味着在符号计算中,它是:

  • 关于符号的一切(符号是 Lisp 中的原子或非原子表达式)
  • 每个符号都被赋予一个语义
  • 符号计算是一种范式,它使程序员专注于处理符号和语义(语义可以是执行某些操作的原子或表达式)以及符号之间的关系,而不是认为数据结构和代码是两个独立的实体。
  • 程序设计是基于符号组合/操作和语义分配的语言设计。

根据这个问题,符号计算的反面是数值计算。这两者之间的主要区别是什么?当我使用 Octave(我正在研究它)时,我必须经常使用数字,并且必须多次猜测这些神奇数字的含义。这是数值计算的重点吗?

4

4 回答 4

28

符号计算是一种强调术语重写而不是评估(e-value-ation,提取值)的计算。符号(也称为表达式)是可重写的术语,意味着可重写性的丧失或结束。在某种程度上,符号更抽象,价值更具体。

答案是3/9什么?一个象征性的答案是 (a representation of) 1/3。一个有价值的答案是0.333333333,无论你关心多少小数。请注意,这里有精度损失(因此可重写性),0.333333333 * 3并不1像它应该的那样。

计算器(评估机器)可能会在尝试评估时窒息,(2^(74,207,281) − 1)/(2^(74,207,281) − 1)即使答案很简单1。当仅仅重写就足够时,无需在这里进行评估。

当然,方程也有相反的情况,难以重写术语,只能通过数值方法来近似回答。

于 2016-08-31T01:10:31.100 回答
11

“符号计算”是具有符号表达式的计算。

符号表达式的示例:

  • 一个数学公式。例如一个积分表达式
  • 一个逻辑定理
  • 计划情况

对于后者:

  • 道路从ab , bd , ce , ef , bf , ...
  • 包裹p1ap2dp3f
  • 卡车t1d
  • 一个目标

现在的任务是制定一个很好的计划,以提取所有包裹并达到给定的目标。

  1. d取包裹p2
  2. 将卡车t1d移动到b
  3. 将卡车t1b移动到a
  4. a取包裹p1
  5. ...

在上面的示例中,符号代表地点和事物(卡车、包裹)。符号表达式描述一种情况,计划生成器将返回一系列动作 - 再次描述为符号表达式。

于 2013-05-06T18:49:48.157 回答
3

符号计算正在处理非数值,这意味着像代数中的符号。有一个适用于多个平台的强大的免费符号计算程序maxima,它可以让您使用符号简化或扩展算术表达式,对它们进行积分或微分等。试试看 - 它既有趣又有用!

于 2013-05-06T14:52:25.920 回答
2

符号计算总是精确的(无限精度)。在数值计算中,精度是有限的

于 2018-04-08T05:55:25.720 回答