Orderless

Orderless

シンボル f に割り当てることができる属性で,f[e1,e2,]の形式の式の要素 ei は,自動的に標準的な順序に並べられることを指定する.この特性はパターンマッチに使用される.

詳細

  • 関数の属性Orderlessは,数学的特性である交換則に対応する.
  • Orderlessを属性とする関数は,Sortの注釈で記述されている標準的な順序を使用する.
  • 行列やテンソルを表すオブジェクトについては,属性Orderlessは,指標間の対称性を表す.
  • PlusTimesのような関数はOrderlessである.
  • Orderless関数にパターンがマッチする際,すべての可能な引数が試行される.
  • 属性Orderlessは,Orderless関数に値を定義する前に割り当てておくことが必要である.

例題

すべて開くすべて閉じる

  (3)

Plusは属性Orderlessを持つので,引数をソートする:

順序が関係ない関数はどれも,引数をソートする:

パターンマッチではOrderless関数の引数を並べ直してマッチを求める:

Plus自体は特定の引数を並べ直すことはないので注意のこと:

特性と関係  (2)

順序の定まっていない関数の定義にマッチするように可能なすべての引数順が試される:

頭部の順序が定まっていない式の要素は標準的な順序で並べられる:

このソートは標準的な評価過程の一環として行われる:

考えられる問題  (1)

順序が不定の関数のパターンマッチは非常に多くの可能な場合に至ることがある:

Wolfram Research (1988), Orderless, Wolfram言語関数, https://reference.wolfram.com/language/ref/Orderless.html.

テキスト

Wolfram Research (1988), Orderless, Wolfram言語関数, https://reference.wolfram.com/language/ref/Orderless.html.

CMS

Wolfram Language. 1988. "Orderless." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Orderless.html.

APA

Wolfram Language. (1988). Orderless. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Orderless.html

BibTeX

@misc{reference.wolfram_2024_orderless, author="Wolfram Research", title="{Orderless}", year="1988", howpublished="\url{https://reference.wolfram.com/language/ref/Orderless.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_orderless, organization={Wolfram Research}, title={Orderless}, year={1988}, url={https://reference.wolfram.com/language/ref/Orderless.html}, note=[Accessed: 22-November-2024 ]}