Sympy: упростите малую составную дробь с помощью квадратов и корней.

У меня следующая ситуация (в Sympy 1.8):

from sympy import *
u = symbols('u') # not necessarily positive
term = sqrt(1/u**2)/sqrt(u**2)

Термин отображается как 2D-форма

Как я могу упростить это до 1/u**2, то есть рендеринг ?

Я пробовал много функций из https://docs.sympy.org/latest/tutorial/simplification.html и некоторые аргументы, перечисленные в https://docs.sympy.org/latest/modules/simplify/simplify.html, но не смог заставить его работать.


person Robert Pollak    schedule 15.06.2021    source источник
comment
Аналогичный вопрос: stackoverflow.com/questions/12796814 /   -  person Robert Pollak    schedule 17.06.2021


Ответы (1)


Переменная должна быть объявлена ​​как вещественное число:

u=symbols('u', real=True)

Затем термин автоматически упрощается.

(Я предложил соответствующее изменение документации Sympy.)

person Robert Pollak    schedule 15.06.2021
comment
Если вы попробуете, например. u=sqrt(-1) вы можете понять, почему u необходимо быть реальным. - person Oscar Benjamin; 15.06.2021