Показывает ли функция SymPygration_steps результат интеграции? - PullRequest
0 голосов
/ 06 сентября 2018

Я использую функцию 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, чтобы сделать эту информацию доступной?

1 Ответ

0 голосов
/ 06 сентября 2018

SymPy Gamma является открытым исходным кодом как сама SymPy. Глядя на его модуль intsteps я вижу строки вроде

self.append("So, the result is: {}".format(
    self.format_math(_manualintegrate(rule))))

Таким образом, способ получения результата правила из правила заключается в вызове _manualintegrate(rule), который необходимо импортировать как

from sympy.integrals.manualintegrate import _manualintegrate

Я думаю, что чтение остальной части intsteps.py также будет полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...