6.4.4 Infinite Mode

The Calculator normally treats results like ‘1 / 0’ as errors; formulas like this are left in unsimplified form. But Calc can be put into a mode where such calculations instead produce “infinite” results.

The m i (calc-infinite-mode) command turns this mode on and off. When the mode is off, infinities do not arise except in calculations that already had infinities as inputs. (One exception is that infinite open intervals like ‘[0 .. inf)’ can be generated; however, intervals closed at infinity (‘[0 .. inf]’) will not be generated when Infinite mode is off.)

With Infinite mode turned on, ‘1 / 0’ will generate uinf, an undirected infinity. See Infinities, for a discussion of the difference between inf and uinf. Also, ‘0 / 0’ evaluates to nan, the “indeterminate” symbol. Various other functions can also return infinities in this mode; for example, ‘ln(0) = -inf’, and ‘gamma(-7) = uinf’. Once again, note that ‘exp(inf) = inf’ regardless of Infinite mode because this calculation has infinity as an input.

The m i command with a numeric prefix argument of zero, i.e., C-u 0 m i, turns on a Positive Infinite mode in which zero is treated as positive instead of being directionless. Thus, ‘1 / 0 = inf’ and ‘-1 / 0 = -inf’ in this mode. Note that zero never actually has a sign in Calc; there are no separate representations for +0 and -0. Positive Infinite mode merely changes the interpretation given to the single symbol, ‘0’. One consequence of this is that, while you might expect ‘1 / -0 = -inf’, actually ‘1 / -0’ is equivalent to ‘1 / 0’, which is equal to positive inf.