有没有办法简化这个共轭表达式:
expr=d12*Conjugate[C1]*C2 + d12*Conjugate[C2]*C1 + d13*Conjugate[C1]*C3 + d13*Conjugate[C3]*C1
变成类似的东西:
2 d12 (Re[C1*Conjugate[C2]]) + 2 d13 (Re[C1*Conjugate[C3]])
一般来说,Mathematica 如何确定一个表达式比另一个更简单?有没有办法在其简化过程中添加一些个性化规则?例如,我们可以告诉 Mathematica 我们更喜欢2*Re[C1*Conjugate[C2]]
吗C1*Conjugate[C2]+C2*Conjugate[C1]
?谢谢。
更新:
感谢您的建议。ComplexExpand
可以将其扩展到实部和虚部,但似乎仍然无法简化为首选形式:
In: Simplify[ComplexExpand[expr, {C1, C2, C3}]]
Out: 2 (Im[C1] (d12 Im[C2] + d13 Im[C3]) + Re[C1] (d12 Re[C2] + d13 Re[C3]))
我尝试了这样的 TransformationFunctions 函数,但它不起作用:
In: t = # /. (Im[C1] Im[C2] + Re[C1] Re[C2] -> 1/2 Re[C1\[Conjugate] C2]) &;
In: Simplify[ComplexExpand[expr, {C1, C2, C3}], TransformationFunctions -> {Automatic, t}]
Out: 2 (Im[C1] (d12 Im[C2] + d13 Im[C3]) + Re[C1] (d12 Re[C2] + d13 Re[C3]))
我做错了吗?谢谢。