Mathematica упрощает сопряженное выражение

Есть ли способ упростить это сопряженное выражение:

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]))

Я делаю неправильный путь? Благодарю.

1 ответ

Решение

На самом деле это упрощает к меньшему выражению

expr=d12*Conjugate[C1]*C2+d12*Conjugate[C2]*C1+d13*Conjugate[C1]*C3 + 
     d13*Conjugate[C3]*C1;
Simplify[ComplexExpand[expr]]

дает

2 C1 (C2 d12 + C3 d13)

Как Mathematica определяет, что одно выражение проще, чем другое? Есть ли способ добавить некоторые персонализированные правила к процессу упрощения

Вы можете использовать ComplexityFunction возможность Simplify, По умолчанию Automatic и я думаю, что это использует количество листьев, чтобы решить. Вы также можете использовать TransformationFunctions возможность Simplify предоставить свои собственные функции для применения. Смотрите помощь.

http://reference.wolfram.com/mathematica/ref/ComplexityFunction.html

http://reference.wolfram.com/mathematica/ref/TransformationFunctions.html

http://reference.wolfram.com/mathematica/ref/LeafCount.html

Другие вопросы по тегам