Переписывание в терминах exp
вместо cos
более полезно:
expr.rewrite(exp).simplify()
возвращает -cos(2*N)/2 + 1/2
, что визуально эквивалентно sin(N)**2
.Очистите его с помощью
expr.rewrite(exp).simplify().trigsimp()
, получив sin(N)**2
Старый ответ, все еще может иметь значение: вы, вероятно, имели в виду N
, чтобы быть реальным, поэтому давайте объявим его кактакие.
Учитывая сочетание сложных экспонент и тригонометрических функций, это, вероятно, поможет разделить действительную и мнимую части с as_real_imag()
.Прямое приложение не имеет ничего общего с положением re (...) и im (...), поэтому сначала рекомендуется переписать в экспонентах и расширить квадраты / произведения:
N = symbols('N', real=True)
expr = (exp(2*I*N) - 1)**2/((exp(2*I*N) - 1)**2 - 4*exp(2*I*N)*cos(N)**2)
result = [a.trigsimp() for a in expr.rewrite(cos).expand().as_real_imag()]
Результат: [sin(N)**2, 0]
означает реальные и мнимые части выражения.Его можно объединить в одно выражение с result[0] + I*result[1]
.