0. 素因子分解
>> import sympy
>> from sympy.ntheory import factorint
>> factorint(100)
{2: 1, 3: 1, 5: 2}
1. sympy:Python 自带符号运算库
from sympy import *
自带常量E和复数单位I
简单测试
>>>x = Symbol('x', real=True)
>>>y = Symbol('y', real=True)
>>>(x+y)**2
(x + y)**2
>>>expand((x+y)**2, real=True)
x**2 + 2*x*y + y**2
from sympy import *
自带常量E和复数单位I
简单测试
>>>x = Symbol('x', real=True)
>>>y = Symbol('y', real=True)
>>>(x+y)**2
(x + y)**2
>>>expand((x+y)**2, real=True)
x**2 + 2*x*y + y**2
比如我们使用 sympy 来验证如下的等式:
x2+y2=(x+(2xy)1/2+y)(x−(2xy)1/2+y)>> from sympy import Symbol, expand
>> from fractions import Fraction
>> x = Symbol('x')
>> y = Symbol('y')
>> expand((x+(2*x*y)**Fraction(1, 2)+y)*(x-(2*x*y)**Fraction(1, 2)+y))
x**2 + y**2
该等式的简单证明如下:
x2+y2==(x+y)2−2xy(x+y+2xy−−−√)(x+y−2xy−−−√)2. sympy:多项式运算
x⋅(x2+x−1)2>> from sympy import poly >> from sympy.abc import x >> poly(x*(x**2+x-1)**2) Poly(x**5 + 2*x**4 - x**3 - 2*x**2 + x, x, domain='ZZ')
Polynomials Manipulation Module Reference
3. 解方程
使用 Python 解数学方程
解一元一次方程: 3x−6=0
>> from sympy import Symbol, solve >> x = Symbol('x') >> solve(x*3-6, x) [2]解 二元一次方程组:
{y=1−x3x+2y=5>> x = Symbol('x') >> y = Symbol('y') >> f1 = y+x-1 >> f2 = 3*x+2*y-5 >> solve([f1, f2], [x, y]) {x: 3, y: -2}



