同情和圣人有什么区别?

2024-05-29 08:00:18 发布

您现在位置:Python中文网/ 问答频道 /正文

萨格马斯和SymPy有什么区别?


Tags: sympy区别
1条回答
网友
1楼 · 发布于 2024-05-29 08:00:18

(完全公开:我是SymPy的主要开发人员)

首先你应该明白同情和圣人不是一回事。SymPy是一个纯Python库,它负责计算机代数。Sage是一个开源数学软件的集合。Sage试图将所有主要的开源数学软件集合在一起,并将其粘合到一个有用的系统中。事实上,Sage包含SymPy作为其系统之一。

以下是每个人的(有偏见的)事实的简短列表(我不会称之为赞成或反对,只是事实):

同情心

  • SymPy是完全独立的。它除了Python之外没有其他依赖项。
  • 尽管它是独立的,但作为一个计算机代数系统,它的功能是完全的。如果您想做数字运算,我们鼓励您使用scientific Python ecosystem中的其他库。
  • SymPy获得BSD许可。对于很多人来说,这并不重要,但是如果你想在其他事情中包含SymPy,很高兴知道你可以对代码做任何你想做的事情。
  • SymPy不会试图改变Python。SymPy接受了Python做事情很好的哲学,因此它应该以Python的方式来做事情。例如,指数运算的运算符是Python中的**,而不是许多其他系统中的^
  • SymPy可以用作库。因为SymPy只是一个Python模块,所以您可以导入它并在任何使用Python的地方使用它。有很多非常酷的应用程序和库在后台使用SymPy来做符号(在很多情况下,在你甚至可能不知道符号正在被使用的地方)。

鼠尾草

  • Sage包含了开源世界中你可能想要做数学的所有东西(包括SymPy)。这包括许多对数字很有用的库,比如八进制。
  • Sage是GPL。如果你喜欢整个FSF软件freedom shpel,那么更多的权力给你。如果不在GPL下授权应用程序,就不能在自己的应用程序中重用源代码。
  • 圣人很难用作图书馆。另一方面,它有一个非常好的笔记本电脑界面。如果您想对SymPy执行同样的操作,建议使用IPython笔记本并在顶部运行from sympy import init_session; init_session()(如果您只想打印而不想导入所有内容,则将init_session替换为init_printing)。
  • Sage在Python之上包含了一些DSL。例如,您可以键入1/2,而不必包装整型文本,它将返回一个rational。x^2给出x的平方,而不是Xor(x, 2)。我不确定默认情况下它是否自动为您定义变量。这意味着您在交互式Sage会话中所做的事情可能不会直接转换为Python脚本。另一方面,这对于交互使用是很有用的(顺便说一句,SymPy还有isympy -I可以做一些类似的事情)。

也许那不是你想要的。你可能想要一些实际的数学特征。但正如我所说,圣人包括同情,所以根据定义,同情的每一个特征都将是圣人的特征。实际上,不一定是这样,因为Sage在默认情况下并不总是使用SymPy(我不确定它的当前状态实际上是什么),所以如果您想从Sage内部使用SymPy,可能必须手动调用它。

相关问题 更多 >

    热门问题