Simplifyおよびその他の関数のオプションとして使われ,式の複雑さを定量化するための関数を与える.
ComplexityFunction
Simplifyおよびその他の関数のオプションとして使われ,式の複雑さを定量化するための関数を与える.
詳細
- デフォルト設定のComplexityFunction->Automaticのとき,式の構成形は,桁数の多い整数はより複雑であるとされるような補正を加えて,LeafCountの値によってランク付けされる.
- Simplifyによって生成される中間式にランク付け関数 f を適用するには,Simplify[expr,ComplexityFunction->f]を使う.式 expr の各中間式に f が適用され,最小の数値を出す式を最も単純なものとして扱う.
例題
すべて開く すべて閉じる例 (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 Language. 1996. "ComplexityFunction." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ComplexityFunction.html.
APA
Wolfram Language. (1996). ComplexityFunction. Wolfram Language & System Documentation Center. Retrieved from 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-October-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-October-2026]}