(Оффтоп)
Aritaborian, написать $Assumptions не сложно, ибо один доллар, а написать формулу с двумя вхождениями этого имени уже представляет проблему для меня, потому что парсер видит в двух долларах намёк на инлайн-формулу.
А [cоde] не хочу использовать, потому что это не код, а небольшая часть кода, как имена, и потому они должны инлайниться.
По моему опыту, лучше использовать связку
ComplexExpand/
Simplify:
Код:
Simplify[ComplexExpand[Exp[I x] + Exp[-I x]], Assumptions -> Element[x, Reals]]
В отличие от
FullSimplify,
ComplexExpand разово заменяет все экспоненты на тригонометрические функции и
Simplify сразу же подчищает за ним, а не анализирует выражение на всех уровнях, пытаясь применить все известные замены ради нахождения самой оптимальной формы выражения, что весьма долго работает на достаточно сложных выражениях.