Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wolfram mathematica 复杂表达式的简化_Wolfram Mathematica - Fatal编程技术网

Wolfram mathematica 复杂表达式的简化

Wolfram mathematica 复杂表达式的简化,wolfram-mathematica,Wolfram Mathematica,前几天,我想简化以下表达式: a Conjugate[a]//FullSimplify 太好了!我们得到的答案是Abs[a]^2。 现在我试着这样做: a b Conjugate[a]//FullSimplify (*a Conjugate[a] b will return the same output*) f[expr_]:=expr/.x_*Conjugate[x_]:>Abs[x]^2 Simplify[a Conjugate[a] b,TransformationFuncti

前几天,我想简化以下表达式:

a Conjugate[a]//FullSimplify
太好了!我们得到的答案是Abs[a]^2。 现在我试着这样做:

a b Conjugate[a]//FullSimplify (*a Conjugate[a] b will return the same output*)
f[expr_]:=expr/.x_*Conjugate[x_]:>Abs[x]^2
Simplify[a Conjugate[a] b,TransformationFunctions->{Automatic,f},ComplexityFunction->(StringLength[ToString[InputForm[#]]]&)]
不幸的是,它没有被简化。与Abs[a]^2 b相比,LeafCount更喜欢未简化的表达式。ComplexityFunction应该能够解决以下问题:

我使用了上面链接中的函数:

f[e_] := StringLength[ToString[InputForm[e]]]
FullSimplify[a Conjugate[a] b, ComplexityFunction -> f]
我仍然收到了不需要的表格


有解决方法吗?

我刚从StackExchange的问题中学到这一点。您可以这样做:

a b Conjugate[a]//FullSimplify (*a Conjugate[a] b will return the same output*)
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