Почему Sympy не может определить это выражение?

#python #sympy

#питон #сочувствующий

Вопрос:

Sympy, похоже, не в состоянии упростить приведенное ниже второе степенное выражение (хотя оно способно упростить первое). Является ли это ограничением Симпатии?

 import sympy as sp
x = sp.symbols('x')
a = sp.symbols('a')
print(sp.powdenest((x**((a - 1)/a))**(a/(a - 1)), force=True))
print(sp.powdenest((x**(a/(a - 1)))**((a - 1)/a), force=True))
  

ВОЗВРАТ

 x
(x**(a/(a - 1)))**((a - 1)/a)
  

Комментарии:

1. print(sp.powdenest(((x**(a/(a - 1)))**((a - 1)/a)).subs(a, b 1), force=True)) упрощает. Должно быть, это какой-то страх перед отрицательными числами.

2. Спасибо за ответ. Почему этот страх перед отрицательными числами не повлияет и на первый пример? Кроме того, настройка не должна force=True избегать любого такого страха?