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 section 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
.