Next: Vectors and Matrices, Previous: Complex Numbers, Up: Data Types

The word `inf`

represents the mathematical concept of infinity.
Calc actually has three slightly different infinity-like values:
`inf`

, `uinf`

, and `nan`

. These are just regular
variable names (see Variables); you should avoid using these
names for your own variables because Calc gives them special
treatment. Infinities, like all variable names, are normally
entered using algebraic entry.

Mathematically speaking, it is not rigorously correct to treat
“infinity” as if it were a number, but mathematicians often do
so informally. When they say that ‘`1 / inf = 0`’, what they
really mean is that ‘`1 / x`’, as ‘`x`’ becomes larger and
larger, becomes arbitrarily close to zero. So you can imagine
that if ‘`x`’ got “all the way to infinity,” then ‘`1 / x`’
would go all the way to zero. Similarly, when they say that
‘`exp(inf) = inf`’, they mean that
‘`exp(x)`’
grows without bound as ‘`x`’ grows. The symbol ‘`-inf`’ likewise
stands for an infinitely negative real value; for example, we say that
‘`exp(-inf) = 0`’. You can have an infinity pointing in any
direction on the complex plane: ‘`sqrt(-inf) = i inf`’.

The same concept of limits can be used to define ‘`1 / 0`’. We
really want the value that ‘`1 / x`’ approaches as ‘`x`’
approaches zero. But if all we have is ‘`1 / 0`’, we can't
tell which direction ‘`x`’ was coming from. If ‘`x`’ was
positive and decreasing toward zero, then we should say that
‘`1 / 0 = inf`’. But if ‘`x`’ was negative and increasing
toward zero, the answer is ‘`1 / 0 = -inf`’. In fact, ‘`x`’
could be an imaginary number, giving the answer ‘`i inf`’ or
‘`-i inf`’. Calc uses the special symbol ‘`uinf`’ to mean
undirected infinity, i.e., a value which is infinitely
large but with an unknown sign (or direction on the complex plane).

Calc actually has three modes that say how infinities are handled.
Normally, infinities never arise from calculations that didn't
already have them. Thus, ‘`1 / 0`’ is treated simply as an
error and left unevaluated. The `m i` (`calc-infinite-mode`

)
command (see Infinite Mode) enables a mode in which
‘`1 / 0`’ evaluates to `uinf`

instead. There is also
an alternative type of infinite mode which says to treat zeros
as if they were positive, so that ‘`1 / 0 = inf`’. While this
is less mathematically correct, it may be the answer you want in
some cases.

Since all infinities are “as large” as all others, Calc simplifies,
e.g., ‘`5 inf`’ to ‘`inf`’. Another example is
‘`5 - inf = -inf`’, where the ‘`-inf`’ is so large that
adding a finite number like five to it does not affect it.
Note that ‘`a - inf`’ also results in ‘`-inf`’; Calc assumes
that variables like `a`

always stand for finite quantities.
Just to show that infinities really are all the same size,
note that ‘`sqrt(inf) = inf^2 = exp(inf) = inf`’ in Calc's
notation.

It's not so easy to define certain formulas like ‘`0 * inf`’ and
‘`inf / inf`’. Depending on where these zeros and infinities
came from, the answer could be literally anything. The latter
formula could be the limit of ‘`x / x`’ (giving a result of one),
or ‘`2 x / x`’ (giving two), or ‘`x^2 / x`’ (giving `inf`

),
or ‘`x / x^2`’ (giving zero). Calc uses the symbol `nan`

to represent such an indeterminate value. (The name “nan”
comes from analogy with the “NAN” concept of IEEE standard
arithmetic; it stands for “Not A Number.” This is somewhat of a
misnomer, since `nan`

*does* stand for some number or
infinity, it's just that *which* number it stands for
cannot be determined.) In Calc's notation, ‘`0 * inf = nan`’
and ‘`inf / inf = nan`’. A few other common indeterminate
expressions are ‘`inf - inf`’ and ‘`inf ^ 0`’. Also,
‘`0 / 0 = nan`’ if you have turned on Infinite mode
(as described above).

Infinities are especially useful as parts of intervals. See Interval Forms.