Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 辛普森和圣人有什么区别?_Python_Math_Algebra_Sympy_Sage - Fatal编程技术网

Python 辛普森和圣人有什么区别?

Python 辛普森和圣人有什么区别?,python,math,algebra,sympy,sage,Python,Math,Algebra,Sympy,Sage,与a.k.a.SageMath的区别是什么?(完全披露:我是Symphy的首席开发者) 首先你要明白的是,辛普森和圣人不是一回事。Symphy是一个纯Python库,它负责计算机代数。Sage是一个开源数学软件的集合。Sage试图将所有主要的开放源码数学软件汇集在一起,并将其粘合成一个有用的系统。事实上,Sage将SymPy作为其系统之一 下面是一个简短的(有偏见的)事实列表(我不会称之为赞成或反对,只是事实): 辛皮 SymPy是完全独立的。除了Python之外,它没有其他依赖项 尽管是独立

与a.k.a.SageMath的区别是什么?

(完全披露:我是Symphy的首席开发者)

首先你要明白的是,辛普森和圣人不是一回事。Symphy是一个纯Python库,它负责计算机代数。Sage是一个开源数学软件的集合。Sage试图将所有主要的开放源码数学软件汇集在一起,并将其粘合成一个有用的系统。事实上,Sage将SymPy作为其系统之一

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

辛皮
  • SymPy是完全独立的。除了Python之外,它没有其他依赖项
  • 尽管是独立的,但它作为一个计算机代数系统功能齐全。如果你想做数字运算,我们鼓励你使用计算机中的其他库
  • Symphy获得BSD许可。对于许多人来说,这并不重要,但是如果您想在其他内容中包含SymPy,很高兴知道您可以对代码执行任何您想要的操作
  • Symphy不尝试更改Python。SymPy的理念是Python做得很好,因此它应该以Python的方式做事情。例如,幂运算的运算符是Python中的
    **
    ,而不是许多其他系统中的
    ^
  • SymPy可以用作图书馆。因为SymPy只是一个Python模块,所以您可以导入它并在任何使用Python的地方使用它。有很多非常酷的应用程序和库在后台使用Symphy来做符号(在很多情况下,在你可能甚至没有意识到符号被使用的地方)
圣人
  • Sage包括开源世界中你可能想做数学的一切(包括SymPy)。这包括许多对数字有用的库,如倍频程
  • Sage是GPL。如果你喜欢整个FSF软件自由shpel,那么更多的权力给你。如果不在GPL下授权应用程序,就不能在自己的应用程序中重用源代码
  • Sage很难用作图书馆。另一方面,它有一个非常好的笔记本电脑界面。如果要对Symphy执行相同的操作,建议使用IPython笔记本并从Symphy import init_会话运行
    ;init_session()
    位于顶部(如果您只想打印而不想导入所有内容,请将
    init_session
    替换为
    init_printing
  • Sage在Python之上包含了一点DSL。例如,您可以键入
    1/2
    ,而不包装整数文本,它将返回一个有理数
    x^2
    给出x的平方,而不是Xor(x,2)。我不确定默认情况下它是否自动为您定义变量。这意味着您在交互式Sage会话中所做的事情可能不会直接转换为Python脚本。另一方面,这对于交互式使用很有用(顺便说一句,Symphy还有做一些类似事情的
    isympy-I

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

此问题可能会被关闭(因此策略),但值得一提的是:Sage是一个由胶合在一起的程序组成的巨大混合体,对于那些需要使用许多工具的严肃数学家来说是非常棒的,工程师们认为这些工具具有神秘的学术魔力,他们只需要一个积分或一个方程就可以在不理解数学的情况下求解。另一方面,如果你不是一个数学家,或者如果你是一个需要一个小而精巧的实验工具的数学家,你会发现SymPy相当不错。坦白地说,公正对待这两个项目的唯一方法是每一个项目都花一周的时间学习。@Krastanov作为一名工程师,我对你说的“工程师只需要一个积分或一个方程就可以在不懂数学的情况下解出来”感到不满。@Ali:这可能是语言问题吗?在英语中,说“…那将是X乘Y[那/那]只需要Z”并不意味着没有Y可能有其他需要。除非你是说每个工程师都理解,或者需要理解,每一个数学工具都达到了专业数学家的水平。[这有点离题了——唯一相关的是Krastanov是正确的,一个人的需要将决定合适的工具。]我稍后会写一个完整的答案,但现在请阅读。@Ali,大多数工程师关心的是微积分,而不是拓扑不变量、黎曼几何或纽结理论。我并不是说一个比另一个容易(你似乎已经假设了),而是说大多数工程师使用的数学与研究数学家使用的数学非常不同,在选择Sage/Magma或SymPy/Maple/Mathematica时,这一点很重要。很明显,这样的概括也有例外。非常感谢@asmurer,我想告诉你,你在sympy上做得非常出色,我花了24小时试图发现它的一些特性。从您描述的情况来看,包括BSD许可证,这将是我的最佳选择。实际上,我需要它来做一个物理问题求解器,所以我几乎需要从代数到微积分的所有东西。但我要寻找的最重要的特征是一个能解方程中未知量的函数:例如,我有:x=a/b它能解出b并给出:b=a/x吗?多亏了所有人的贡献,这真是一个伟大的项目,像你们这样的人让我们的生活变得更加轻松,让我们在这些伟大的项目上再接再厉