Sympy 是 Python 的一个代数计算库。简单来说,可以通过该库进行一些代数计算,比如构建方程,求解方程组,求解导数等等...
下面是使用 Sympy 的简单例子:
import sympy
def test01():
"""
构建方程
"""
# 1. 创建方程中的符号
k = sympy.Symbol("k")
x = sympy.Symbol("x")
b = sympy.Symbol("b")
# 2. 构建方程
y = k * x + b
# 3. 代入求解 y
result = y.subs({"k": 10, "x": 3, "b": 5})
sympy.pprint(result)
def test02():
"""
求解方程组
"""
# 1. 创建方程中的符号
x = sympy.Symbol("x")
y = sympy.Symbol("y")
z = sympy.Symbol("z")
# 2. 构建方程
f1 = 2*x - 7 - y
f2 = 5*x + 3*y + 2*z - 3
f3 = 3*x + z - 7
# 3. 求解方程组
result = sympy.solve([f1, f2, f3], x, y, z)
sympy.pprint(result)
def test03():
"""
求导
"""
# 1. 构建方程
x = sympy.Symbol("x")
y = sympy.Symbol("y")
z = sympy.Symbol("z")
f = x**2 + 2*x + 3*y**2 + 4*z**3
# 2. 分别对 x, y, z 求导
fx = sympy.diff(f, x)
fy = sympy.diff(f, y)
fz = sympy.diff(f, z)
sympy.pprint(fx)
sympy.pprint(fy)
sympy.pprint(fz)
def test04():
"""
连加
"""
x = sympy.Symbol("x")
y = sympy.Symbol("y")
z = sympy.Symbol("z")
f = 2*x**2 + 3 + y + z
f = sympy.summation(f, (x, 1, 100))
print(f)
def test05():
"""
连乘
"""
x = sympy.Symbol("x")
y = sympy.Symbol("y")
z = sympy.Symbol("z")
f = 2 * x ** 2 + 3 + y + z
f = sympy.product(f, (x, 1, 3))
print(f)
if __name__ == "__main__":
test05()