这里简单介绍一些 Sympy 的使用
Sympy Official Documents : http://docs.sympy.org/latest/tutorial/index.html
Sympy GitHub Repository : https://github.com/sympy/sympy
Use Latex : http://blog.csdn.net/jiangmengya1/article/details/79279191
一. Definitions and Characters
Symbolic computation deals with the computation of mathematical objects symbolically .
这意味着,Sympy 采用数学符号来精确地表示数据,而不是使用近似值表示数据 。
Examples :
def func():
print('------------------------------------')
print("math.sqrt(9): ", math.sqrt(9))
print("sympy.sqrt(9): ", sympy.sqrt(9))
print('------------------------------------')
print("math.sqrt(8): ", math.sqrt(8))
print("sympy.sqrt(8): ", sympy.sqrt(8))
print('------------------------------------')
Output :
------------------------------------
math.sqrt(9): 3.0
sympy.sqrt(9): 3
------------------------------------
math.sqrt(8): 2.8284271247461903
sympy.sqrt(8): 2*sqrt(2)
------------------------------------
二. Some Interesting Examples
First , we need import sympy first :
#coding:utf-8
#[email protected]
from sympy import *
1. Variables definitions :
Example :
# variables definitions
x, t = symbols('x t')
# functions definitions
y = Function('y')
2. Derivative
Example :
# derivative
y0 = exp(x)*sin(x)
print('\n')
print('function :', y0)
print('latex :', latex(y0))
y1 = diff(exp(x) * sin(x))
print('\n')
print('function :', y1)
print('latex :', latex(y1))
Output :
function : exp(x)*sin(x)
latex : e^{x} \sin{\left (x \right )}
derivative : exp(x)*sin(x) + exp(x)*cos(x)
latex : e^{x} \sin{\left (x \right )} + e^{x} \cos{\left (x \right )}
Draw y0 and y1 with LaTeX :
3. Integration
Example :
# integration
y0 = exp(x)*sin(x) + exp(x)*cos(x)
print("\n")
print("function :", y0)
print('latex :', latex(y0))
y1 = integrate(exp(x)*sin(x) + exp(x)*cos(x))
print("\n")
print("function :", y1)
print('latex :', latex(y1))
Output :
function : exp(x)*sin(x) + exp(x)*cos(x)
latex : e^{x} \sin{\left (x \right )} + e^{x} \cos{\left (x \right )}
function : exp(x)*sin(x)
latex : e^{x} \sin{\left (x \right )}
Draw y0 and y1 with LaTeX :
4. Limitation
Example :
# limitation
y0 = sin(x)/x
print("\n")
print("function :", y0)
print('latex :', latex(y0))
y1 = limit(sin(x)/x, x, 0)
print("\n")
print("function :", y1)
print('latex :', latex(y1))
Output :
function : sin(x)/x
latex : \frac{1}{x} \sin{\left (x \right )}
function : 1
latex : 1
Draw y0 and y1 with LaTeX :
5. Pow function
Example :
# power function
y0 = Eq(x**2 - 2, 0)
print("\n")
print("function :", y0)
print('latex :', latex(y0))
y1 = solve(Eq(x**2 - 2, 0), x)
print("\n")
print("function :", y1)
print('latex :', latex(y1))
Output :
unction : Eq(x**2 - 2, 0)
latex : x^{2} - 2 = 0
function : [-sqrt(2), sqrt(2)]
latex : \left [ - \sqrt{2}, \quad \sqrt{2}\right ]
Draw y0 and y1 with LaTeX :
6. Differential Equation
Example :
# Differential Equation
y0 = Eq(y(t).diff(t, t) - y(t), exp(t))
print("\n")
print("function :", y0)
print('latex :', latex(y0))
y1 = dsolve(Eq(y(t).diff(t, t) - y(t), exp(t)), y(t))
print("\n")
print("function :", y1)
print('latex :', latex(y1))
Output :
function : Eq(-y(t) + Derivative(y(t), t, t), exp(t))
latex : - y{\left (t \right )} + \frac{d^{2}}{d t^{2}} y{\left (t \right )} = e^{t}
function : Eq(y(t), C2*exp(-t) + (C1 + t/2)*exp(t))
latex : y{\left (t \right )} = C_{2} e^{- t} + \left(C_{1} + \frac{t}{2}\right) e^{t}
Draw y0 and y1 with LaTeX :
7 . Matrix Derivative
Example :
# matrix derivative
y0 = Matrix([[x**2, x**3], [x*2, x*3]])
print("\n")
print("function :", y0)
print('latex :', latex(y0))
y1 = diff(Matrix([[x**2, x**3], [x*2, x*3]]), x)
print("\n")
print("function :", y1)
print('latex :', latex(y1))
Output :
function : Matrix([[x**2, x**3], [2*x, 3*x]])
latex : \left[\begin{matrix}x^{2} & x^{3}\\2 x & 3 x\end{matrix}\right]
function : Matrix([[2*x, 3*x**2], [2, 3]])
latex : \left[\begin{matrix}2 x & 3 x^{2}\\2 & 3\end{matrix}\right]
Draw y0 and y1 with LaTeX :