3.2.2 代数运算

SymPy可以进行强大的代数运算。我们将看一下最常使用的:展开和化简。

3.2.2.1 展开

使用这个模块展开代数表达式。它将试着密集的乘方和相乘:

In [13]:

  1. expand((x + y)**3)

Out[13]:

  1. x**3 + 3*x**2*y + 3*x*y**2 + y**3

In [14]:

  1. 3*x*y**2 + 3*y*x**2 + x**3 + y**3

Out[14]:

  1. x**3 + 3*x**2*y + 3*x*y**2 + y**3

可以通过关键词的形式使用更多的选项:

In [15]:

  1. expand(x + y, complex=True)

Out[15]:

  1. re(x) + re(y) + I*im(x) + I*im(y)

In [16]:

  1. I*im(x) + I*im(y) + re(x) + re(y)

Out[16]:

  1. re(x) + re(y) + I*im(x) + I*im(y)

In [17]:

  1. expand(cos(x + y), trig=True)

Out[17]:

  1. -sin(x)*sin(y) + cos(x)*cos(y)

In [18]:

  1. cos(x)*cos(y) - sin(x)*sin(y)

Out[18]:

  1. -sin(x)*sin(y) + cos(x)*cos(y)