Mathematica では,頭部(ヘッド)を調べることによって数の型の区別を確認することができる.(他の表記物と同様に数も頭部を持つが,数の頭部は型以外の情報を持たない.)
複素数をよく使う場合,虚数部の表記によっては微妙な違いが生じるので気を付ける必要がある.入力値
123.は実数として扱われ,その虚数部分は厳密なゼロとされる.しかし,虚数部がある精度のもとで近似値としてゼロとなっているような複素数を扱いたいという場合もあるだろう.
複素数の虚数部が厳密なゼロか有限精度のゼロかどうかを区別することは理屈っぽいだけで実用的な意味がないように思われる.しかし,区別することは重要で,
「一意的な値を持たない関数」で説明するが,複素数を使ったベキと根の解釈でこの違いは大きな意味を持つ.
数の型を調べるには
Head[expr]を使えば,
Mathematica が保持する数の頭部が参照できる.しかし,多くの場合は
IntegerQのような関数で特定の型かどうかを調べる方が手っ取り早い.これらの判定関数は引数が調べる型に属するとき
Trueを返し,そうでなければ
Falseを返す.例えば,判定する前に整数の型を
xに割り当てておかなければ,
IntegerQ[x]は
Falseを返してくる.