I would like to simplify an expression, part of which looks like:

$$\frac{\left(E_{k+p}-\epsilon _{k+p}\right) \left(E_{k+p}-\epsilon _k-i \omega _p\right)}{2 E_{k+p} \left(-E_k+E_{k+p}-i \omega _p\right) \left(E_k+E_{k+p}-i \omega _p\right) \left(1+e^{\beta \left(E_{k+p}-i \omega _p\right)}\right)}$$

the Mathematica code of which is:

a3 = ((-Subscript[\[Epsilon], k+p]+Subscript[\[CapitalEpsilon], k+p]) (-Subscript[\[Epsilon], k]+Subscript[\[CapitalEpsilon], k+p]-I Subscript[\[Omega], p]))/(2 (1+E^(\[Beta] (Subscript[\[CapitalEpsilon], k+p]-I Subscript[\[Omega], p]))) Subscript[\[CapitalEpsilon], k+p] (-Subscript[\[CapitalEpsilon], k]+Subscript[\[CapitalEpsilon], k+p]-I Subscript[\[Omega], p]) (Subscript[\[CapitalEpsilon], k]+Subscript[\[CapitalEpsilon], k+p]-I Subscript[\[Omega], p]))

but I want to simplify this expression with the assumption that $e^{i\ \beta \omega_p}=1$ while keeping other parts unaffected, I have tried to use things like:

Simplify[ a3, Assumptions->{ E^(I \[Beta] Subscript[\[Omega], p])=1 } ]

however, I got an error message like:

Set::write: Tag Power in E^(I Subscript[[Omega], p]) is Protected.
Simplify::bass: 1 is not a well-formed assumption.

Hope someone can tell me how to get the result I want.

  • $\begingroup$ Try == in place of = $\endgroup$
    – m_goldberg
    Sep 7, 2017 at 3:24
  • 1
    $\begingroup$ Perhaps you could do a3 /. Exp[x_]:>Exp[x /. Subscript[ω, p]->0]. Presumably you want to keep $\omega_p$'s in sums but not in exponents? $\endgroup$
    – jjc385
    Sep 7, 2017 at 3:36
  • $\begingroup$ @m_goldberg While of course == should be used rather than =, it doesn't seem to solve the problem -- Simplify fails to use the relation (as it often seems to do in not-quite-trivial cases). $\endgroup$
    – jjc385
    Sep 7, 2017 at 3:39
  • $\begingroup$ @jjc385 Thanks for your comment, your method works well. Yes, I only want to change the $\omega_p$ in the exponential part. $\endgroup$
    – Ogawa Chen
    Sep 7, 2017 at 3:50

1 Answer 1


One possible approach is the following:

Simplify[a3 /. Exp[x_] :> Exp[Expand[x]], Assumptions -> {E^(I β Subscript[ω, p]) == 1}]

This simply expands the exponents before applying Simplify, which seems to be enough of a hint. As opposed to @jjc385's suggestion (which fails if $\omega_p$ appears in an exponent without a factor of $i\beta$), this will never produce an incorrect result.

  • $\begingroup$ Thanks for your answer, the idea of using Expand is nice, and I found that the code FullSimplify[ a3/.Exp[x_]:>Exp[ Expand[ x ]/.{ \[Beta] Subscript[\[Omega], p]->2\[Pi] }] ] also works. $\endgroup$
    – Ogawa Chen
    Sep 7, 2017 at 10:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.