是否可以显示SymPy在`simplify()`期间尝试的所有函数?

时间:2018-05-19 21:18:48

标签: python sympy symbolic-math

SymPy docs声明如下:

  

SymPy有许多功能可以执行各种简化。还有一个名为simplify()的通用函数,它试图以智能方式应用所有这些函数,以获得最简单的表达形式。<​​/ p>

我使用SymPy作为帮助我重新学习数学的工具,所以如果我可以查看SymPy尝试的所有函数,那将非常有用。

是否可以显示SymPy在simplify()期间尝试的所有功能?我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

simplify的来源是here。根据它,SymPy尝试以下操作,其中大部分都记录在simplify module docs中(您链接的页面来自SymPy教程,但没有详细介绍。)

cancel(expr)
_mexpand(expr).cancel()
together(expr, deep=True)
factor_terms(expr, sign=False)
hyperexpand(expr)
piecewise_fold(expr)
besselsimp(expr)
trigsimp(expr, deep=True)
expand_log(expr, deep=True)
logcombine(expr)
combsimp(expr)
sum_simplify(expr)
product_simplify(expr)
quantity_simplify(expr)
powsimp(expr, combine='exp', deep=True)
powsimp(expr)
expand_power_exp(expand_mul(expr)))
exptrigsimp(expr)

要直接尝试这些,请导入

from sympy import *
from sympy.simplify.simplify import sum_simplify, product_simplify
from sympy.core.function import _mexpand

但是,simplify不只是逐个尝试这些方法:大多数方法仅在表达式匹配某些模式时使用,其中一些组合使用。