📅  最后修改于: 2023-12-03 14:47:49.605000             🧑  作者: Mango
SymPy是一个用Python语言开发的符号计算库。它旨在成为一个能够进行基本数学运算、解方程、微积分、离散数学、构建方程、线性代数和更多领域内计算的完整计算机代数系统,并将提供高效性和准确性。
SymPy是Python的一个库,因此您可以通过pip安装它:
pip install sympy
要使用SymPy,请首先导入它。
import sympy
SymPy与其他Python程序相似,它依赖于一些变量。符号变量就像Python的变量,但是在SymPy中,它们是符号。这种符号变量可以使用符号函数来创建。例如,要创建一个名为'x'的符号变量,请键入:
x = sympy.Symbol('x')
现在我们可以使用x变量代替x,并进行各种数学计算。例如,要计算x ** 2的值:
>>> x ** 2
x**2
计算sin(x)值:
>>> sympy.sin(x)
sin(x)
表达式化简是SymPy中的一个常见操作。为了简化表达式,您可以使用simplify函数。
>>> sympy.simplify((x ** 2 + x ** 3) / x ** 2)
1 + x
展开函数expand将乘积或其他符号通过展开展开。
>>> sympy.expand((x + 1) ** 2)
x**2 + 2*x + 1
SymPy可以解决多种类型的方程。例如,要解决2x + 1 = 0的方程,请键入:
>>> sympy.solve(2 * x + 1)
[-1/2]
该函数返回一个解决方案的数组。
如果您有两个未知数,则可以将它们传递给符号函数:
x, y = sympy.symbols('x y')
sympy.solve([x + y - 9, x - y - 3], [x, y])
SymPy还支持符号微积分。要计算x ^ 2的导数:
>>> sympy.diff(x ** 2, x)
2 * x
积分可以通过integrate函数完成。例如,要计算x ^ 2的积分:
>>> sympy.integrate(x ** 2, x)
x**3/3
SymPy是一个强大的离散数学工具,支持排列和组合的计算。
要计算排列数,请输入:
>>> sympy.functions.combinatorial.numbers.nP(4, 2)
12
要计算组合数,请输入:
>>> sympy.functions.combinatorial.numbers.nC(4, 2)
6
SymPy可以用于构建代数式。要创建一个多项式,请键入:
>>> p = sympy.Poly(x ** 3 - 4 * x ** 2 + 3 * x, x)
>>> p
Poly(x**3 - 4*x**2 + 3*x, x, domain='ZZ')
SymPy带有各种工具,可以分解、相乘和因式分解代数式。
SymPy还包括用于线性代数的各种工具。例如,您可以使用矩阵类Matrix来表示矩阵,并使用它们进行各种计算。
>>> A = sympy.Matrix([[1, 2], [2, 2]])
>>> A
Matrix([
[1, 2],
[2, 2]])
>>> b = sympy.Matrix([1, 2])
>>> b
Matrix([
[1],
[2]])
>>> A.solve(b)
Matrix([
[-2],
[3/2]])
SymPy支持将符号表达式转换为LaTeX格式。要将x ^ 2 + x的LaTeX表示形式打印到控制台,请输入:
>>> sympy.latex(x ** 2 + x)
'x^{2} + x'
与SymPy结合使用的另一种流行方法是Jupyter Notebook。Jupyter Notebook支持内联LaTeX,使您可以在写符号公式时获得您可以立即可视化的反馈。
在这篇文章中,我们介绍了SymPy库,这是一个Python中的符号计算库。我们讨论了SymPy库的主要功能,包括符号、表达式化简和展开、方程求解、符号微积分、离散数学、构建代数式、线性代数和LaTeX可视化。