Я запускаю код, содержащий что-то вроде следующего:
import sympy
eq_lhs = sympy.sympify("2*x - 3*y + 43/2")
my_eq = sympy.Eq(eq_lhs, rhs=0)
my_eq.simplify()
print(my_eq)
Вывод по-прежнему
2*x - 3*y + 43/2 = 0
Хотя я ожидаю, что дроби будут выброшены на множитель как таковые:
4*x - 6*y + 43 = 0
Есть ли какая-нибудь симпатичная функция, которая могла бы это сделать? Должен ли .simplify() сделать это уже? Мне бы хотелось услышать ваше мнение.
Для этого у меня есть новая ручная функция, но мне просто интересно, должно ли это быть уже по умолчанию.def my_simplify(eq):
# Extract the denominators of the coefficients
dens_lhs = [sympy.fraction(term)[1] for term in eq.lhs.as_ordered_terms()]
dens_rhs = [sympy.fraction(term)[1] for term in eq.rhs.as_ordered_terms()]
lcm = sympy.lcm(dens_lhs + dens_rhs)
# Multiply the entire equation by the LCM
simplified_eq = sympy.Eq(lcm * eq.lhs, lcm * eq.rhs)
# Return
return simplified_eq
Подробнее здесь: https://stackoverflow.com/questions/786 ... y-way-to-d
Упрощение уравнения Sympy не избавляет от дробей. Есть ли простой способ сделать это? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Упрощение уравнения Sympy не избавляет от дробей. Есть ли простой способ сделать это?
Anonymous » » в форуме Python - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Упрощение уравнения Sympy не избавляет от дробей. Есть ли простой способ сделать это?
Anonymous » » в форуме Python - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-