# Replace part of the expression

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.

• Try == in place of = – m_goldberg Sep 7 '17 at 3:24
• 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? – jjc385 Sep 7 '17 at 3:36
• @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). – jjc385 Sep 7 '17 at 3:39
• @jjc385 Thanks for your comment, your method works well. Yes, I only want to change the $\omega_p$ in the exponential part. – Chuan Chen Sep 7 '17 at 3:50

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.

• 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. – Chuan Chen Sep 7 '17 at 10:03