У меня есть следующий код в SymPyУпростить корни в SymPy
from sympy import *
x,y,G=symbols('x y G')
G=x**(3./2.) - y
g_inv=solve(G, x)
if len(g_inv)>1: g_inv=g_inv[-1]
dginvdy=diff(g_inv, y)
Проблема заключается в том, что это дает мне
____
3 ╱ 2
2⋅╲╱ y
─────────
3⋅y
и не 2*y**(-1./3)/3
, как я ожидал. Я пробовал simplify()
и даже cancel()
, но не повезло. Кроме того, если я определяю переменные с real=True
, я не могу инвертировать его с solve
по какой-то причине. Если я определяю только y
как реальный я получаю
2⋅sign(y)
─────────
3 _____
3⋅╲╱ │y│
который ближе (?), Но все же не то, что я хочу. Определение y
как положительный также не сделал трюк.
Это может показаться чем-то глупым, но это чрезвычайно усложняет вычисления, которые я делаю с этого момента.
Любые идеи?