Я использую функцию SymPy integral_steps
для создания инструмента, который, как и SymPy Gamma, показывает шаги интеграции, когда вы просите его интегрировать функцию. Моя незавершенная работа доступна на https://lem.ma/1YH.
Что я не могу понять, так это как получить результат применения определенного правила. Например, рассмотрим правило подстановки
URule(u_var=_u, u_func=sin(x), constant=1, substep=ExpRule(base=E, exp=_u, context=exp(_u), symbol=_u), context=exp(sin(x))*cos(x), symbol=x)
Поле context
сообщает, что интегрируемой функцией является exp (sin (x)) * cos (x) и что правило использует конкретную подстановку - но каков результат интеграции, поэтому я могу сообщить пользователю Точно так же, как SymPy Gamma. То, что я сейчас делаю, это звоню integrate
на каждом шагу, но это кажется совершенно неэффективным.
Может быть, есть опция, которую можно передать в integra_steps, чтобы сделать эту информацию доступной?