什么是符号计算?

问题描述 投票:0回答:5

根据wiki

在数学和计算机科学中,计算机代数,也称为 符号计算或代数计算是一个科学领域 指算法和软件的研究和开发 用于操纵数学表达式和其他数学 物体

符号计算专注于符号操作和计算吗? Lisp 程序以 AST(抽象语法树)的形式编写,以原子为叶子。 Lisp 据说是用于符号计算的语言。是不是意味着在符号计算中,它是:

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

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

symbolic-math
5个回答
33
投票

符号计算是一种强调“术语重写”而不是“评估”(e-value-ation,提取值)的计算。 符号(也称为表达式)是可重写的术语,意味着可重写性的损失或结束。在某种程度上,符号更抽象,价值更具体。 3/9的答案是什么?一个象征性的答案是(代表)

1/3

。一个值的答案是

0.333333333
,无论你关心多少位小数。请注意,这里存在精度损失(因此可重写性),
0.333333333 * 3
并不完全是
1
计算器(评估机器)在尝试评估 
(2^(74,207,281) − 1)/(2^(74,207,281) − 1)
时可能会感到窒息,即使答案只是

1

。当仅重写就足够时,无需在这里进行评估。

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


13
投票
是使用

符号表达式进行计算。 符号表达式示例:

数学公式,例如积分表达式

逻辑定理
  • 使用音符符号的乐谱
  • 计划情况
  • 对于后者:

a

    b
  • bdceefbf、...的道路 a处的p1
  • d处的p2f处的p3 一辆卡车 t1d
  • 一个目标 现在的
  • 任务
  • 将是生成一个良好的
  • 计划
,以拾取所有包裹并达到给定的

目标 d

领取包裹
    p2
  1. 将卡车t1d
  2. 移动到
  3. b 将卡车t1b
  4. 移动到
  5. a a领取包裹
  6. p1
  7. ... 在上面的示例中,符号代表
  8. places
  9. things
(卡车、包裹)。

符号表达式描述情况,计划生成器将返回一系列动作(移动、拾取)——再次描述为符号表达式 作为符号计算的 LISt 处理器 (-> LISP)

Lisp 的基本发现之一是程序是符号表达式,并且执行程序本身的解释器可以通过编写为符号表达式的程序来描述。因此数据、Lisp 程序及其解释器都是符号表达式。

符号计算正在处理

非数值

,这意味着像代数中的

3
投票
。有一个适用于多个平台的强大的免费符号计算程序,

maxima,它可以让您使用符号简化或扩展算术表达式,对它们进行积分或微分等。尝试一下 - 它既有趣又有用! 符号计算总是精确的(无限精度)。在数值计算中,精度是有限的


2
投票
符号是 Lisp 的基本数据类型之一。在内部,符号由五个单元组成:

名称


2
投票

函数plist包单元。除了充当数据之外,符号还充当事物的名称,例如函数、变量、类型和块。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.