前几天我想简化以下表达式:
a Conjugate[a]//FullSimplify
大!我们得到的答案是Abs [a] ^ 2。 现在我尝试了这样的事情:
a b Conjugate[a]//FullSimplify (*a Conjugate[a] b will return the same output*)
不幸的是,它没有简化。 LeafCount更喜欢Abs [a] ^ 2 b上的未简化表达式。 ComplexityFunction应该能够解决这个问题: ComplexityFunction
我使用了上面链接中提供的功能:
f[e_] := StringLength[ToString[InputForm[e]]]
FullSimplify[a Conjugate[a] b, ComplexityFunction -> f]
我仍然得到了不受欢迎的表格。
有解决方法吗?
答案 0 :(得分:1)
我刚从StackExchange的问题here学到了这一点。你可以这样做:
f[expr_]:=expr/.x_*Conjugate[x_]:>Abs[x]^2
Simplify[a Conjugate[a] b,TransformationFunctions->{Automatic,f},ComplexityFunction->(StringLength[ToString[InputForm[#]]]&)]
它会给b Abs[a]^2
。