应用Python的SymPy库解决高等数学及线性代数

youmianzhou 2019-06-01

SymPy库简介

SymPy是符号数学的Python库。 它旨在成为一个全功能的计算机代数系统(CAS),同时保持代码尽可能简单,以便易于理解和扩展。 SymPy完全是用Python编写的。

  [SymPy官网](“http://www.sympy.org/en/index.html“)
  [ API手册 ](“http://www.sympy.org/en/index.html“)
 

基础用法

Symbols-符号

>>> from sympy import *
>>> # 两种方法创建符号
>>> x, y, z = symbols('x y z')  # 创建符号x、y、z
>>> t = Symbol('t')            # 创建符号t

Derivatives-导数

>>> diff(cos(x), x)    # cos(x)对x求导
-sin(x)
>>> diff(exp(x**2), x) # e的x方对x求导
2*x*exp(x**2)
>>> diff(x**4, x, x, x)# x的4次方分别对x求三次导
24⋅x
>>> diff(x**4, x, 3)  # x的4次方对x求三次导
24⋅x

Integrals-积分

# definite integrals 定积分
>>> integrate(exp(-x), (x, 0, oo))  # e的-x方 下限:0 上限:无穷(两个字母o表示)对x求定积分
1
>>> integrate(exp(-x**2 - y**2), (x, -oo, oo), (y, -oo, oo)) # 求二重积分
π

# indefinite integrals 不定积分
>>> integrate(cos(x), x) # cos(x)对x求不定积分
>sin(x)

Limits-极限

>>> limit(sin(x)/x, x, 0) # sin(x)/x 在x趋向于0时的极限
1
>>> limit(1/x, x, 0, '+') # 1/x 在x趋向于0+时的极限

高等数学上的应用

应用Python的SymPy库解决高等数学及线性代数

from sympy import *
x = Symbol('x'); t = Symbol('t')    # 定义两个变量
lmt = limit(
    (integrate(t*cos(t),(t,0,x))-1+cos(x)) / (sqrt(x*tan(x)+1)-sqrt(x*sin(x)+1)),
    x,
    0)
print(lmt)  # -1/3

应用Python的SymPy库解决高等数学及线性代数

相关推荐