Sympy是一个开源的象征手法包装,纯Python编写的。
Sympy的目标是成为一个全功能的CAS在Python,而代码保持尽可能简单,所以它可以很容易地扩展和理解
特点:
- 在基本的算术*,/,+, -
- 在基本的简化(如A * B * B + 2 * B *一* B - > 3 * A * B ^ 2)
- 在扩展(如(A + B)^ 2 - >一种^ 2 + 2 * A * B + B ^ 2)
- 在功能(EXP,LN,正弦,余弦,棕褐色,...)
- 在复数(如EXP(I * X).evalc() - > COS(X)+ I * SIN(X))
- 在分化
- 泰勒级数
- 在基本替代(如X-> LN(X))
- 在任意精度的整数和有理数
- 标准(蟒蛇)浮
什么在此版本中是新的:
- 在SymPy现在支持Python 3和PyPy
- 在此版本还包括在组合主要的新功能,定积分,随机变量,矩阵表达式,套,经典力学,量子力学,交换代数,绘图和微分几何。
- 也有数以百计的错误修正的整个代码库。
什么在0.7.1版本新:
- 在主要变化:
- 在Python 2.4中不再支持。 SymPy不会在Python 2.4在所有的工作。如果你仍然需要使用SymPy的Python 2.4下出于某种原因,你需要更早使用SymPy 0.7.0或
- 在该Pyglet绘图库现在是一个(可选)的外部依赖。此前,我们发货版本Pyglet与SymPy,但这是老马车。我们的计划是最终使绘图中SymPy更加模块化,使其支持多种后端,但这尚未完成。目前,仍然只有Pyglet直接支持。需要注意的是Pyglet仅仅是一个可选的依赖,并且只需要用于绘图。仍可使用SymPy其余没有任何依赖关系(除了为Python)。
- 在isympy现在与新IPython的0.11。
- 在mpmath已经更新到0.17。请参见相应的mpmath发行说明在http://mpmath.googlecode.com/svn/trunk/CHANGES。
- 在增加了一个替补对象代表未计算替换。这最终让我们表示的衍生物在一个点进行评价,即,差异(F(X)中,x).subs(X,0)返回替补(微分(F(_x),_x),(_x,),(0, ))。这也意味着,SymPy现在可以正确计算的链式法则时,此功能是必需的,如用F(G(X))。差异(X)。
- 在超几何函数/梅杰G-功能:
- 添加类超()和meijerg()来表示超几何和梅耶尔G-功能,分别。他们支持数值计算(使用mpmath)和象征性的差异(不与相对参数)。
- 新增的算法在更熟悉的,命名为特殊功能方面重写超几何和梅耶尔G功能。它是通过功能hyperexpand访问(),或者也可以通过expand_func()。该算法识别许多基本功能,同时还完全和不完全伽玛功能,贝塞尔函数和错误的功能。它可以很容易地扩展为处理多个类的特殊功能。
- 设置:
- 添加FiniteSet类模仿蟒蛇集的行为,同时也与已有的间隔和工会 互动
- FiniteSets和间隔进行交互,以便,例如区间(0,10) - FiniteSet(0,5)产生(0,5)U(5,10]
- 在FiniteSets还可以处理非数字对象,所以,以下是可能的{1,2,“一”,“二”,{A,B}}
- 添加ProductSet处理套笛卡尔积
- 创建使用*运算符,即twodice = FiniteSet(1,2,3,4,5,6)* FiniteSet(1,2,3,4,5,6)或平方=间隔(0,1) *间隔(0,1)
- 在战俘运营商还按预期工作:R3 =间隔(-oo,OO)** 3; (3,-5,0)中R 3 == TRUE
- 在减法,工会,测量各项工作走复杂的路口进去。
- 新增as_relational方法来套,使用和生产布尔陈述或者,公式,LT,亿吨,等等...
- 在改变reduce_poly_inequalities返回套工会,而不是套名单
- 的iterable:
- 添加生成例程整数分区和二进制分区。该例程为整数分区需要3个参数,该数字本身,在生成的分区和元件,这将是该分区中的最大可能的数目所允许的最大可能的元件。二分区的特点是含有两个唯一力量。
- 在新增发电常规多组分区。给定一个多集,实现将产生多集的所有可能的分区算法。
- 添加生成例程钟排列,紊乱,以及对合。甲铃置换是其中,组成它的循环组成的整数的递减顺序。甲紊乱是置换,使得第i个元素是不是在第i个位置。对合是置换,当由自身相乘给出同一性置换。
- 添加生成常规无限制项链。一个无限制的项链是n个字符,每一个可能的类型的一进制串。这些都被其特征在于,在例程中的参数n和k。
- 添加生成例程面向森林。这是算法S的TAOCP卷4A的实现。
- 在XYZ旋转基地:
- 的代表,改写和InnerProduct逻辑进行了改进任意两个旋基地之间的合作。这是通过利用所述的Wigner-D矩阵,在WignerD类实现时,在限定的各个碱基之间的变化进行。代表一个状态,即表示(JzKet(1,0),基础= Jx的),可以用于得到矢量表示的任何得到的任何的对于j和m中的自旋的数值的X / Y / Z的碱本征态。同样地,重写的状态到不同的基础,即JzKet(1,0).rewrite('Jx的'),将写状态为基础给出的元素的线性组合。因为这依赖于代表的功能,这仅适用于数字J和M值。在不同的碱基2本征态的内积可以评价,即InnerProduct(JzKet(1,0),JxKet(1,1))。当两个不同的碱时,一个状态被重写到其他的基础上,所以这需要j和米的数值,但在相同的基础状态的innerproducts仍然可以象征性地进行。
- 的Rotation.D和Rotation.d方法,代表的Wigner-D功能和维格纳小D功能,返回WignerD类,它可与度特()方法来评估的实例,以得到相应的矩阵维格纳-D矩阵的元素。
- 在其他的变化:
- 我们现在使用MathJax在我们的文档。 MathJax在使用JavaScript的浏览器呈现LaTeX的数学entierly。这意味着,算术比以前PNG数学,它使用的图像更具有可读性。 MathJax只支持现代浏览器,所以在文档LaTeX的数学可能无法在旧的浏览器。
- 在nroots()现在允许您设置的计算精度
- 在增加了对gmpy和mpmath的类型支持sympify()
- 修正了一些漏洞与lambdify()
- 修正了as_independent和非交换符号的错误。
- 修正了一个错误与收集(问题2516)
- 有关SymPy移植到Python 3。感谢我们的学生编程之夏弗拉基米尔佩里奇许多修正,这项任务已基本完成。
- 在一些人追溯添加到Authors文件。
- 在增加了一个解算器ODE模块中的Riccati方程的一个特例。
- 在迭代衍生物漂亮打印在简洁的方式。
- 在修复一个bug与集成功能多DiracDeltas。
- 在添加Matrix.norm()的作品为矩阵(不只是载体)的支持。
- 在改进了Groebner基算法。
- 在Plot.saveimage现在支持一个StringIO的OUTFILE
- 在Expr.as_ordered_terms现在支持非法排序。
- 在差异现在canonicalizes分化符号的次序。这是因此它可以简化像的f(x,y)的.diff作(X,Y)的表达 - 的f(x,y)的.diff作(Y,X)。如果你想创建一个衍生对象不排序的参数时,你应该明确地使用衍生创建它,这样你会得到微分(F(X,Y),X,Y)!=微分(F(X,Y), Y,X)。需要注意的是在内部,衍生物,可以计算出始终计算的,因为它们是在给定的顺序。
- 新增功能is_sequence()和迭代器()来确定,如果事情是一个有序的迭代或正常迭代器,分别为。
- 已启用的狮身人面像,增加了旁边的每个功能,可链接到源代码的功能复制源链接的选项。
什么是0.7.0版本,新的:
- 在这是,增加了许多新功能的一个主要版本。
- 在最大的变化是新的多边形,这是更强大,速度更快。这会影响SymPy的许多地方,包括求解器和简化。
- 在另一个大的变化是新的量子模块,增加了作为准则谷歌暑期两个项目的结果。
- 除了这些重大的变化,也有在所有SymPy的许多变化。
- 在这个版本也有一些小的大多是向后兼容的休息。
什么在0.6.3版本新:
- 在移植到python2.6的(所有测试通过)和Jython(所有测试都通过了,除了那些根据" AST"模块)。
- 在真司是固定的(所有测试都通过与" -Qnew" Python的选项) 。
- 在buildbot.sympy.org创建; sympy现在定期测试了Python 2.4,2.5,和2.6两个i386和AMD64。
- py.bench:py.test型标杆
- 在斌/测试:一个简单的py.test般的测试框架,没有外部的依赖关系,并与漂亮的彩色输出 。
- 在大多数的限制现在的工作。
- 在分解了Z [X]大幅提高。
- 在分段函数加入。 nsimplify()实施。
- 在符号和无功语法进行统一。
- 在C代码打印。
要求:
- 在Python中
评论没有发现