Python 符号计算的瑞士军刀——SymPy

快速使用

在Anaconda 的集成环境 Spyder中可以通过

Preferences > IPython console > Advanced Settings > Use symbolic math

来激活 IPython’s SYMbolic PYthon (sympy) 模块

这个模块可以让SpyderLatex 风格渲染出非常漂亮的数学表达式,并且在IPython 终端启动时会自动在终端导入一些基本的符号对象。

>>> from __future__ import division
>>> from sympy import *
>>> x, y, z, t = symbols(‘x y z t‘)
>>> k, m, n = symbols(‘k m n‘, integer=True)
>>> f, g, h = symbols(‘f g h‘, cls=Function)

在终端输入如下指令

>>> from sympy import *
>>> x = symbols(‘x‘)
>>> a = Integral(cos(x)*exp(x), x)
>>> Eq(a, a.doit())

终端显示结果如下:

可以看到输出的结果非常的漂亮!

更多介绍

Sympy 主页地址:http://www.sympy.org/en/index.html

在官网上可以找到更多的实例代码和教学文档

比较有趣的是有一个 在线的SymPy Shell

在意在网页中输入表达式,然后得到返回的结果,如下图分别输入

>>> expr = x**2 + x*y
>>> srepr(expr)

>>> expr = (x + y)**5
>>> expand(expr)

在右边的 SymPy Live Shell 中可以看到返回的结果,非常的 Nice!

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-10 13:53:08

Python 符号计算的瑞士军刀——SymPy的相关文章

对当今Python 快速发展的研究与展望

对当今Python 快速发展的研究与展望摘要:本文通过分析Python语言的发展历史.设计哲学.应用领域和优缺点,分析了Pytho近年来快速发展的原因.一.Python 简史Python 是由Guido van Rossum 在1989 年圣诞节期间开发的一种脚本语言.在Python 之前,Guido 还参与设计了另一种教学语言ABC,这是一种为非专业开发者设计的教学语言.ABC 并未获得预想的成功,究其原因是语言的非开放性造成的,但是ABC 语言易于使用的特点还是被Python 继承了下来.同

【Python五篇慢慢弹(5)】‘类’过依然继续前行,直至ending再出发

‘类’过依然继续前行,直至ending再出发 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc入门资料包含了基本要点.本文是对文档常用核心要点进行梳理,简单冗余知识不再介绍,作者假使你用c/java/c#/c++任一种语言基础.本系列文章属于入门内容,老鸟可以略看也可以略过,新鸟可以从篇一<快速上手学python>先接触下python怎样安装与运行,以及pychar

一道有趣的数学题(一)

前段时间看到了一道十分有趣的数学题,如下 \[ \begin{align*} &x+y+z=1 \&x^2+y^2+z^2=2 \&x^3+y^3+z^3=3 \&\cdots \&x^5+y^5+z^5=? \end{align*} \] 这规律看着挺明显哈,那\(x^5+y^5+z^5\)肯定等于\(5\)啊,这题小学僧都随便做~那很不好意思哦,这道题的答案其实是\(6\)(笑. 我们先从一个最简单的做法做起,显然\(x,y,z\)是如下方程的解 \[ \beg

前辈们的话--大疆技术总监的金玉良言

今天在发烧友看到一篇很好的文章,有很大的启发和震撼,这就是别人一毕业就能进大疆,而我们还在为找工作发愁的原因吗?!! 当然文中说的很多东西都不是我们大多数人都能实现的,人家大一就开始接触嵌入式,入手Linux,学习python,而大一的很多人还沉浸在高考后的喜悦,开学后的迷茫中呢!这就是差距. 还是那句话,兴趣是最好的老师.要是 一开始我们就对机器人,电子技术感兴趣的话,这些其实都不用别人说的,自己就会想尽办法去寻找合适的学习路径. 遇山开山,遇水架桥.兴趣会指导我们找到该找到的一切的.所以,还

中国科学技术大学第五届信息安全大赛(hackergame2018自我总结)2

这一批题都是我不会的,只能把官方write-up放在这里了 1.FLXG 的秘密 ------------------------------------------------------------------------------------------------------------ 公元 0xFB2 年, FLXG 正当其道.没错, 在 CWK 的伟大倡导之下, 年份采用了更为先进的 16 进制表示. 中国滑稽大学也因为率先提出了 FLXG 的理论, 其世界超一流的院校的地位已经

Python圈中的符号计算库-Sympy(转载)

<本文来自公众号"大邓带你玩python",转载> import math math.sqrt(8) 2.8284271247461903 我们看看Python中结果 math.sqrt(8).math.sqrt(8) 8.000000000000002 本以为会得到8.0,但没想到得到8.000000000000002. 一.为什么会这样? 如果我们平常计算的任务常常有类似于上面的例子这样的表达式,那么直接用python计算其结果只是真实值的逼近.如果这样的计算很大很多,

python sympy evalf()函数

SymPy是一个符号计算的Python库.它的目标是成为一个全功能的计算机代数系统,同时保持代码简 洁.易于理解和扩展.它完全由Python写成,不依赖于外部库.SymPy支持符号计算.高精度计算.模式匹配.绘图.解方程.微积分.组合数学.离散 数学.几何学.概率与统计.物理学等方面的功能 正如你看到的,evalf()函数可以用求出表达式的浮点数. from sympy import * a=Symbol('a')   #首先声明变量   subs 可以替换变量(1/a).evalf(subs=

python sympy包符号运算进行定积分计算

preface:曾以为不会再用编程遇到定积分的计算,自从本科用过matlab编程计算积分后,没再用matlab,转而投向python的怀抱.python有对应的包sympy,用来计算积分,无论不定积分还是定积分. 主要用到integrate这个函数, >>>:from sympy import integrate >>>:integrate? 可以找到integrate函数的用法, 另外使用符号变量的时候,需要先导入符号,在sympy.abc下.以下为一个小的例子(si

程序员的瑞士军刀----Python

这篇文章比较难以成型.大概想表达的意思是,程序员应该通过脚本语言来完成一些"批量"或"自动化"的操作,而不是重复的去做体力劳动. 具体方式因人而异,比如有人非常熟悉bat或者shell的编写,或者有人非常熟悉php.perl的编写,而我更早接触了Python,所以很多工具更加习惯用Python来完成. 这里会先讲一下我的各种需求,以及脚本语言的选择,后面会针对Python逐渐补全很多"惯用法",把自己常用的功能和代码段记录下来. 一.综述 Pyt