Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: elementary functions



In the document functions.pdf posted by J. Wolff v. Gudenberg to this
list on Sat, 10 Oct 2009 18:14:37 +0200, the bottom line of Table 2 on
page 2 says:

	logp1 ln(x + 1) [-1, \infty]   \mathbb{R}	tightest

I urge that this be renamed to log1p, and its description changed to
ln(1 + x) or log(1 + x), because the name log1p has been widely used
in the Unix world for the function value log(1 + x) since its
introduction in 1987 in BSD 4.3 Unix.  It is also enshrined in the
1999 ISO C Standard, and now implemented on tens of millions of
computers.

Its companion in the table, expm1(), has the same name as in its
above-cited ancestors in 1987 and 1999, and needs no adjustment.

The function exp1(x) = (exp(x) - 1 - x)/x appears to be new (at least
to me) with this proposal, and may well be of practical use in point
and interval floating-point computation.  However, in that case, there
should be a companion function that computes all but the first two
terms of the log(1 + x) series expansion.

expm1(x) and log1p(z) are extremely important functions in both real
and complex arithmetic, but they are present in few programming
languages.  Standards such as that on interval arithmetic under
development as IEEE 1788 can be very helpful in encouraging language
and library designers to do a better job of specifying the
mathematical functions that are required for the language and its
users.

-------------------------------------------------------------------------------
- Nelson H. F. Beebe                    Tel: +1 801 581 5254                  -
- University of Utah                    FAX: +1 801 581 4148                  -
- Department of Mathematics, 110 LCB    Internet e-mail: beebe@xxxxxxxxxxxxx  -
- 155 S 1400 E RM 233                       beebe@xxxxxxx  beebe@xxxxxxxxxxxx -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------