Есть ли способ получить пошаговое решение в SymPy?

Есть ли способ получить пошаговое решение в SymPy? Например:

x**2-5 = 4
  step 1 x**2-5+5=4+5
  step 2 : x**2=9
  step 3 :x = 3 or x= -3

Ответ 1

(это скорее комментарий как ответ)

Существуют некоторые идеи Google в отношении внедрения

Пошаговая визуализация выражений

GSoC 2014 Идеи: Много раз люди спрашивают, как они могут сказать, что делают некоторые функции. Например, они хотят знать шаг за шагом... Для первого лучше всего следовать следующему коду; для последнего алгоритм не работает вообще, как вы бы делали это вручную, так что на самом деле нет способа...

Идеи GSoC 2015:

Стратегия пошагового

Логика многих операций SymPy разделяется на несколько небольших методов. Например, объекты, такие как sin или exp, имеют _eval_derivative методы, которые называются SymPy, оценивают производную от сложного выражения, такого как sin (exp (x)). Захватив входы и выходы всех этих небольших методов, мы можем собрать большое количество информации о шагах, которые принимает SymPy. Мы можем видеть, что exp._eval_derivative принимал exp (x) и возвращал exp (x), а sin._eval_derivative принимал sin (exp (x)) и возвращал cos (exp (x)) * exp (x). Эти пары ввода-вывода для каждого метода, вероятно, достаточны для иллюстрации того, как SymPy решает проблемы во многих доменах.

Этот подход для сбора входных данных многих внутренних функций аналогичен системам регистрации, традиционно используемым для анализа больших кодовых баз. Мы должны исследовать, как они работают, и если они вызывают какие-либо проблемы при нормальной работе.

Как только этот источник информации будет доступен, мы сможем подумать о интересных способах визуализации и взаимодействия с ним. Хорошее решение не будет безвозвратно связывать поток данных с конкретной технологией визуализации.

Этот подход прост в интеллектуальном плане, но может потребовать, чтобы учащийся взаимодействовал с большим количеством кодовой базы. Подходы, такие как _eval_derivative, повсеместны в SymPy, но часто имеют небольшие вариации в разных модулях.

здесь онлайн-решение SymPy Gamma