Loading...
Loading...
Compare original and translation side by side
sqrt(2)1.414...sqrt(2)1.414...from sympy import symbols, Symbol
x, y, z = symbols('x y z')
expr = x**2 + 2*x + 1from sympy import symbols, Symbol
x, y, z = symbols('x y z')
expr = x**2 + 2*x + 1
**Simplification and manipulation:**
```python
from sympy import simplify, expand, factor, cancel
simplify(sin(x)**2 + cos(x)**2) # Returns 1
expand((x + 1)**3) # x**3 + 3*x**2 + 3*x + 1
factor(x**2 - 1) # (x - 1)*(x + 1)references/core-capabilities.md
**化简与操作:**
```python
from sympy import simplify, expand, factor, cancel
simplify(sin(x)**2 + cos(x)**2) # 返回1
expand((x + 1)**3) # x**3 + 3*x**2 + 3*x + 1
factor(x**2 - 1) # (x - 1)*(x + 1)references/core-capabilities.mdfrom sympy import diff
diff(x**2, x) # 2*x
diff(x**4, x, 3) # 24*x (third derivative)
diff(x**2*y**3, x, y) # 6*x*y**2 (partial derivatives)from sympy import integrate, oo
integrate(x**2, x) # x**3/3 (indefinite)
integrate(x**2, (x, 0, 1)) # 1/3 (definite)
integrate(exp(-x), (x, 0, oo)) # 1 (improper)from sympy import limit, series
limit(sin(x)/x, x, 0) # 1
series(exp(x), x, 0, 6) # 1 + x + x**2/2 + x**3/6 + x**4/24 + x**5/120 + O(x**6)references/core-capabilities.mdfrom sympy import diff
diff(x**2, x) # 2*x
diff(x**4, x, 3) # 24*x(三阶导数)
diff(x**2*y**3, x, y) # 6*x*y**2(偏导数)from sympy import integrate, oo
integrate(x**2, x) # x**3/3(不定积分)
integrate(x**2, (x, 0, 1)) # 1/3(定积分)
integrate(exp(-x), (x, 0, oo)) # 1(反常积分)from sympy import limit, series
limit(sin(x)/x, x, 0) # 1
series(exp(x), x, 0, 6) # 1 + x + x**2/2 + x**3/6 + x**4/24 + x**5/120 + O(x**6)references/core-capabilities.mdfrom sympy import solveset, solve, Eq
solveset(x**2 - 4, x) # {-2, 2}
solve(Eq(x**2, 4), x) # [-2, 2]from sympy import linsolve, nonlinsolve
linsolve([x + y - 2, x - y], x, y) # {(1, 1)} (linear)
nonlinsolve([x**2 + y - 2, x + y**2 - 3], x, y) # (nonlinear)from sympy import Function, dsolve, Derivative
f = symbols('f', cls=Function)
dsolve(Derivative(f(x), x) - f(x), f(x)) # Eq(f(x), C1*exp(x))references/core-capabilities.mdfrom sympy import solveset, solve, Eq
solveset(x**2 - 4, x) # {-2, 2}
solve(Eq(x**2, 4), x) # [-2, 2]from sympy import linsolve, nonlinsolve
linsolve([x + y - 2, x - y], x, y) # {(1, 1)}(线性方程组)
nonlinsolve([x**2 + y - 2, x + y**2 - 3], x, y) # (非线性方程组)from sympy import Function, dsolve, Derivative
f = symbols('f', cls=Function)
dsolve(Derivative(f(x), x) - f(x), f(x)) # Eq(f(x), C1*exp(x))references/core-capabilities.mdfrom sympy import Matrix, eye, zeros
M = Matrix([[1, 2], [3, 4]])
M_inv = M**-1 # Inverse
M.det() # Determinant
M.T # Transposeeigenvals = M.eigenvals() # {eigenvalue: multiplicity}
eigenvects = M.eigenvects() # [(eigenval, mult, [eigenvectors])]
P, D = M.diagonalize() # M = P*D*P^-1A = Matrix([[1, 2], [3, 4]])
b = Matrix([5, 6])
x = A.solve(b) # Solve Ax = breferences/matrices-linear-algebra.mdfrom sympy import Matrix, eye, zeros
M = Matrix([[1, 2], [3, 4]])
M_inv = M**-1 # 逆矩阵
M.det() # 行列式
M.T # 转置eigenvals = M.eigenvals() # {特征值: 重数}
eigenvects = M.eigenvects() # [(特征值, 重数, [特征向量])]
P, D = M.diagonalize() # M = P*D*P^-1A = Matrix([[1, 2], [3, 4]])
b = Matrix([5, 6])
x = A.solve(b) # 求解Ax = breferences/matrices-linear-algebra.mdfrom sympy.physics.mechanics import dynamicsymbols, LagrangesMethod
from sympy import symbolsfrom sympy.physics.mechanics import dynamicsymbols, LagrangesMethod
from sympy import symbols
**Vector analysis:**
```python
from sympy.physics.vector import ReferenceFrame, dot, cross
N = ReferenceFrame('N')
v1 = 3*N.x + 4*N.y
v2 = 1*N.x + 2*N.z
dot(v1, v2) # Dot product
cross(v1, v2) # Cross productfrom sympy.physics.quantum import Ket, Bra, Commutator
psi = Ket('psi')
A = Operator('A')
comm = Commutator(A, B).doit()references/physics-mechanics.md
**向量分析:**
```python
from sympy.physics.vector import ReferenceFrame, dot, cross
N = ReferenceFrame('N')
v1 = 3*N.x + 4*N.y
v2 = 1*N.x + 2*N.z
dot(v1, v2) # 点积
cross(v1, v2) # 叉积from sympy.physics.quantum import Ket, Bra, Commutator
psi = Ket('psi')
A = Operator('A')
comm = Commutator(A, B).doit()references/physics-mechanics.mdreferences/advanced-topics.mdreferences/advanced-topics.mdfrom sympy import lambdify
import numpy as np
expr = x**2 + 2*x + 1
f = lambdify(x, expr, 'numpy') # Create NumPy function
x_vals = np.linspace(0, 10, 100)
y_vals = f(x_vals) # Fast numerical evaluationfrom sympy.utilities.codegen import codegen
[(c_name, c_code), (h_name, h_header)] = codegen(
('my_func', expr), 'C'
)from sympy import latex
latex_str = latex(expr) # Convert to LaTeX for documentsreferences/code-generation-printing.mdfrom sympy import lambdify
import numpy as np
expr = x**2 + 2*x + 1
f = lambdify(x, expr, 'numpy') # 创建NumPy函数
x_vals = np.linspace(0, 10, 100)
y_vals = f(x_vals) # 快速数值计算from sympy.utilities.codegen import codegen
[(c_name, c_code), (h_name, h_header)] = codegen(
('my_func', expr), 'C'
)from sympy import latex
latex_str = latex(expr) # 转换为LaTeX格式用于文档references/code-generation-printing.mdfrom sympy import symbols
x, y, z = symbols('x y z')from sympy import symbols
x, y, z = symbols('x y z')undefinedundefinedx = symbols('x', positive=True, real=True)
sqrt(x**2) # Returns x (not Abs(x)) due to positive assumptionrealpositivenegativeintegerrationalcomplexevenoddx = symbols('x', positive=True, real=True)
sqrt(x**2) # 由于设置了正数假设,返回x(而非Abs(x))realpositivenegativeintegerrationalcomplexevenoddfrom sympy import Rational, Sfrom sympy import Rational, Sundefinedundefinedfrom sympy import pi, sqrt
result = sqrt(8) + pi
result.evalf() # 5.96371554103586
result.evalf(50) # 50 digits of precisionfrom sympy import pi, sqrt
result = sqrt(8) + pi
result.evalf() # 5.96371554103586
result.evalf(50) # 50位精度undefinedundefinedundefinedundefinedsolvesetlinsolvenonlinsolvedsolvesolvesolvesetlinsolvenonlinsolvedsolvesolvecore-capabilities.mdmatrices-linear-algebra.mdphysics-mechanics.mdadvanced-topics.mdcode-generation-printing.mdcore-capabilities.mdmatrices-linear-algebra.mdphysics-mechanics.mdadvanced-topics.mdcode-generation-printing.mdfrom sympy import symbols, solve, simplify
x = symbols('x')from sympy import symbols, solve, simplify
x = symbols('x')undefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedimport numpy as np
from sympy import symbols, lambdify
x = symbols('x')
expr = x**2 + 2*x + 1
f = lambdify(x, expr, 'numpy')
x_array = np.linspace(-5, 5, 100)
y_array = f(x_array)import numpy as np
from sympy import symbols, lambdify
x = symbols('x')
expr = x**2 + 2*x + 1
f = lambdify(x, expr, 'numpy')
x_array = np.linspace(-5, 5, 100)
y_array = f(x_array)import matplotlib.pyplot as plt
import numpy as np
from sympy import symbols, lambdify, sin
x = symbols('x')
expr = sin(x) / x
f = lambdify(x, expr, 'numpy')
x_vals = np.linspace(-10, 10, 1000)
y_vals = f(x_vals)
plt.plot(x_vals, y_vals)
plt.show()import matplotlib.pyplot as plt
import numpy as np
from sympy import symbols, lambdify, sin
x = symbols('x')
expr = sin(x) / x
f = lambdify(x, expr, 'numpy')
x_vals = np.linspace(-10, 10, 1000)
y_vals = f(x_vals)
plt.plot(x_vals, y_vals)
plt.show()from scipy.optimize import fsolve
from sympy import symbols, lambdifyfrom scipy.optimize import fsolve
from sympy import symbols, lambdifyundefinedundefinedundefinedundefinedundefinedundefinedfrom sympy import symbols, solve, sqrt
x = symbols('x')
solution = solve(x**2 - 5*x + 6, x)from sympy import symbols, solve, sqrt
x = symbols('x')
solution = solve(x**2 - 5*x + 6, x)undefinedundefinedfrom sympy import symbols, diff, sin
x = symbols('x')
f = sin(x**2)
df_dx = diff(f, x)from sympy import symbols, diff, sin
x = symbols('x')
f = sin(x**2)
df_dx = diff(f, x)undefinedundefinedfrom sympy import symbols, integrate, exp
x = symbols('x')
integral = integrate(x * exp(-x**2), (x, 0, oo))from sympy import symbols, integrate, exp
x = symbols('x')
integral = integrate(x * exp(-x**2), (x, 0, oo))undefinedundefinedfrom sympy import Matrix
M = Matrix([[1, 2], [2, 1]])
eigenvals = M.eigenvals()from sympy import Matrix
M = Matrix([[1, 2], [2, 1]])
eigenvals = M.eigenvals()undefinedundefinedfrom sympy import symbols, lambdify
import numpy as np
x = symbols('x')
expr = x**2 + 2*x + 1
f = lambdify(x, expr, 'numpy')
f(np.array([1, 2, 3]))from sympy import symbols, lambdify
import numpy as np
x = symbols('x')
expr = x**2 + 2*x + 1
f = lambdify(x, expr, 'numpy')
f(np.array([1, 2, 3]))undefinedundefinedsymbols()0.5Rational(1, 2)Rational()S()subs()evalf()lambdify()solvesolvesetnsolvesimplifyfactorexpandtrigsimppositive=Truesimplify(expr, force=True)symbols()0.5Rational(1, 2)Rational()S()subs()evalf()lambdify()solvesolvesetnsolvesimplifyfactorexpandtrigsimppositive=Truesymplify(expr, force=True)