I have an expression which is very large and which has several sub-expressions with head Conjugate. What I want to do is simplify the Conjugate[...] sub-expressions without affecting other sub-expressions.
The first method I considered is was the Transformationfunctions option of Simplify. I wrote:
Simplify[expr,Transformationfunctions->{Conjugate}] Well, Conjugate does indeed disappear, but the result is wrong. For example (with $Assumptions set so all variables are considered real)
FullSimplify[Conjugate[ t1 (2 Cos[(Sqrt[3] kx)/2] Cos[ky/2] + Cos[ky]) + I t1 (-2 Cos[(Sqrt[3] kx)/2] Sin[ky/2] + Sin[ky])], Transformationfunctions->{Conjugate}] gives
t1 (2 Cos[(Sqrt[3] kx)/2] Cos[ky/2] + Cos[ky]) + I t1 (-2 Cos[(Sqrt[3] kx)/2] Sin[ky/2] + Sin[ky]) The second method I considered is to use ComplexExpand //@ Conjugate. Since all the variables in my expression are declared real variables, Conjugate[expr] will become ComplexExpand //@ Conjugate[expr]. To make such this substitution, I could use search-and-replace and evaluate-in-place, but as I have said, the expression is large, so I don't want to do it that way. Instead I did the following:
largeexpr /. Conjugate -> ComplexExpand //@ Conjugate But this did not work.
Here largeexpr is an expression containing sub-expressions with head Conjugate. For example,
Sqrt[t1^2]+Conjugate[ t1 (2 Cos[(Sqrt[3] kx)/2] Cos[ky/2] + Cos[ky]) + I t1 (-2 Cos[(Sqrt[3] kx)/2] Sin[ky/2] + Sin[ky])] So can anyone point out what I did wrong? Or suggest a better solution?