Calc は普通、1 / 0 をエラーとして扱い、 このような式は簡単化されないまま放置されます。 しかし Calc には、 このような計算から「無限大の」結果を生成するモードを設定できます。
このモードを On/Off するのは
m i (calc-infinite-mode
) コマンドです。
本モードが Off のときは、入力に無限大が含まれる場合を除いて、
計算結果に無限大が出現することはありません。
(無限大モードが Off のときでも例外として、
無限大を含まない開区間 `[0 .. inf)' ができることがありますが、
無限大を含む閉区間 `[0 .. inf]' が生成されることはありません。)
無限大モードが On の状態では、
`1 / 0' は uinf
(undirected infinity:向き不明の無限大)になります。
inf
と uinf
の違いについての解説は無限大 参照 。
また、0 / 0 は「不定(indeterminate)」を表す記号
nan
に評価されます。
無限大モードでは、他にもいろいろな関数が無限大を返すことができます。
例えば、`ln(0) = -inf' や `gamma(-7) = uinf'。
繰返しますが、`exp(inf) = inf' は入力に無限大が含まれているので、
無限大モードに関係なく無限大を返します。
m i コマンドにゼロの接頭引数を付けると、
つまり C-u 0 m i とすると、「正の無限大モード」になります。
このモードではゼロを向き不明ではなく正であるかのごとく扱うので、
`1 / 0 = inf' や `-1 / 0 = -inf' が成立します。
注意: Calc ではゼロに符号が付くことはなく、
+0 と -0 を区別する表現はできません。
正の無限大モードだけが単一記号 `0' の解釈を変えます。
この結果、あなたが `1 / -0 = -inf' を期待したとしても、
実際は `1 / -0' は `1 / 0' と同じに扱われて、
正の inf
になります。
Go to the first, previous, next, last section, table of contents.
利用度数