ComplexityFunction
是 Simplify 及其它函数的一个选项,该选项将给出将表达式的不同形式的复杂度归类的函数.
更多信息
- 在缺省设置 ComplexityFunction->Automatic 下,各种形式基本根据 LeafCount 排列,并作如下修正:整数的数位越多,复杂度越高.
- Simplify[expr,ComplexityFunction->f] 应用 f 到由 Simplify 产生的每个中间表达式,把产生最小数值的表达式当成最简单的.
范例
打开所有单元 关闭所有单元基本范例 (2)
缺省的 ComplexityFunction 统计子表达式和整数的位数:
Simplify[100 Log[2]]LeafCount 只统计子表达式的数量:
Simplify[100 Log[2], ComplexityFunction -> LeafCount]FullSimplify[ChebyshevT[n, x]]这个复杂度函数使 ChebyshevT 比其它函数代价更高:
f[e_] := 100Count[e, _ChebyshevT, {0, Infinity}] + LeafCount[e]FullSimplify[ChebyshevT[n, x], ComplexityFunction -> f]范围 (1)
在缺省设置 ComplexityFunction 下,Abs[x] 比 -x 的 FullForm 形式更简化:
Simplify[Abs[x], x < 0]Map[FullForm, {Abs[x], -x}]这个复杂度函数统计 InputForm 形式的表达式的字符数量:
f[e_] := StringLength[ToString[InputForm[e]]]现在 -x 比 Abs[x] 更简化:
Simplify[Abs[x], x < 0, ComplexityFunction -> f]属性和关系 (1)
SimplifyCount[p_] :=
Which[Head[p] === Symbol, 1,
IntegerQ[p], If[p == 0, 1, Floor[N[Log[2, Abs[p]] / Log[2, 10]]] + If[p > 0, 1, 2]],
Head[p] === Rational, SimplifyCount[Numerator[p]] + SimplifyCount[Denominator[p]] + 1,
Head[p] === Complex, SimplifyCount[Re[p]] + SimplifyCount[Im[p]] + 1, NumberQ[p], 2,
True, SimplifyCount[Head[p]] + If[Length[p] == 0, 0, Plus@@(SimplifyCount /@ (List@@p))]]技术笔记
-
▪
- 化简
历史
1996年引入 (3.0)
文本
Wolfram Research (1996),ComplexityFunction,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ComplexityFunction.html.
CMS
Wolfram 语言. 1996. "ComplexityFunction." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/ComplexityFunction.html.
APA
Wolfram 语言. (1996). ComplexityFunction. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ComplexityFunction.html 年
BibTeX
@misc{reference.wolfram_2026_complexityfunction, author="Wolfram Research", title="{ComplexityFunction}", year="1996", howpublished="\url{https://reference.wolfram.com/language/ref/ComplexityFunction.html}", note=[Accessed: 14-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_complexityfunction, organization={Wolfram Research}, title={ComplexityFunction}, year={1996}, url={https://reference.wolfram.com/language/ref/ComplexityFunction.html}, note=[Accessed: 14-September-2026]}