数の型
Mathematica には,4つの数の型が組み込まれている.
Mathematica 内部での数の型
| Out[1]= |  |
小数点を用いると,整数や有理数ではなく,実数の近似値として扱われる.
| Out[2]= |  |
| Out[3]= |  |
| Out[4]= |  |
| Out[5]= |  |
| 123 | 整数 |
| 123. | 実数の近似値 |
| 123.0000000000000 | 指定された桁精度を持つ近似値 |
| 123.+0.I | 実数の近似値を成分とする複素数(実部と虚部が近似値) |
型の違いによる値123の意味の相違
Mathematica では,頭部(ヘッド)を調べることによって数の型の区別を確認することができる.(他の表記物と同様に数も頭部を持つが,数の頭部は型以外の情報を持たない.)
| Out[6]= |  |
今度は小数点を指定し,値

を実数として入力する.型を確認すると頭部
Realを持つ実数型が返される.
| Out[7]= |  |
数の型の判定関数
| Out[8]= |  |
| Out[9]= |  |
複素数をよく使う場合,虚数部の表記によっては微妙な違いが生じるので気を付ける必要がある.入力値
は実数として扱われ,その虚数部分は厳密なゼロとされる.しかし,虚数部がある精度のもとで近似値としてゼロとなっているような複素数を扱いたいという場合もあるだろう.
虚数部分を厳密な整数

とすると,複素数は実数に簡約される.
| Out[10]= |  |
ここで,虚数部は特定の精度までのゼロなので,複素数のまま保持される.
| Out[11]= |  |
複素数の虚数部が厳密なゼロか有限精度のゼロかどうかを区別することは理屈っぽいだけで実用的な意味がないように思われる.しかし,区別することは重要で,「一意的な値を持たない関数」で説明するが,複素数を使ったベキと根の解釈でこの違いは大きな意味を持つ.
数の型を調べるにはHead[expr]を使えば,Mathematica が保持する数の頭部が参照できる.しかし,多くの場合はIntegerQのような関数で特定の型かどうかを調べる方が手っ取り早い.これらの判定関数は引数が調べる型に属するときTrueを返し,そうでなければFalseを返す.例えば,判定する前に整数の型を
に割り当てておかなければ,IntegerQ[x]はFalseを返してくる.