AtomQ

AtomQ[expr]

expr がこれ以上分割不可能であるときにTrueを,その他の場合にFalseを返す.

詳細

  • 再帰的な手続きの中で,式に対応するツリー構造の最下層に到達したかどうかを判定するためにAtomQが利用できる.
  • AtomQは,記号や数,列,疎な配列のような生のオブジェクト等にはTrueを返す.
  • AtomQは,オブジェクトの部分にMapのような関数でアクセスできない場合にTrueを返す.

例題

すべて開くすべて閉じる

  (1)

式が再分割できるかどうかテストする:

これは原子ではないので,一部分を抽出することができる:

これは原子である数である:

スコープ  (6)

文字列は再分割できない:

記号は再分割できない:

数は再分割できない:

有理(Rational)数は複合構造を持つように見える:

数であるので,再分割はできない:

各部分にはNumeratorおよびDenominatorでアクセスできる:

複素(Complex)数は複合構造を持っているように見える:

数であるので,再分割はできない:

各部分にはReおよびImでアクセスできる:

SparseArrayオブジェクトは原子的な生のオブジェクトである:

SparseArrayオブジェクトに使えるコマンドは,一般に表示された配列に対して使われる:

SparseArrayオブジェクトの完全形(FullForm)は,生のオブジェクトを再構築するのに十分であるように設計されている:

アプリケーション  (2)

式中の再分割が不可能な葉の数を求める:

深くネストした式:

次はLeafCountに等しい:

オブションをHeads->Falseとすると,枝を持たない原子のみが数えられる:

次はTreeFormで見られるぶら下がった葉に相当する:

式の最小と最大の「深さ」を求める:

Depthは最大の深さに1加えたものを返す:

特性と関係  (1)

Map[f,expr,{-1}]は通常 f expr 中の原子にマップする:

これは次の再帰関数に等しい:

Wolfram Research (1988), AtomQ, Wolfram言語関数, https://reference.wolfram.com/language/ref/AtomQ.html (2003年に更新).

テキスト

Wolfram Research (1988), AtomQ, Wolfram言語関数, https://reference.wolfram.com/language/ref/AtomQ.html (2003年に更新).

CMS

Wolfram Language. 1988. "AtomQ." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2003. https://reference.wolfram.com/language/ref/AtomQ.html.

APA

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

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_atomq, organization={Wolfram Research}, title={AtomQ}, year={2003}, url={https://reference.wolfram.com/language/ref/AtomQ.html}, note=[Accessed: 21-November-2024 ]}