02/24/2009, 08:24 PM
(This post was last modified: 02/25/2009, 12:17 AM by sheldonison.)
sheldonison Wrote:....In this post, I will use this equation to derive the \( \text{sexp}_e(-0.5) \), accurate to five significant digits, using a linear approximation of sexp/slog. I haven't made any progress in proving the limit converges, but assuming it does, earlier in this thread I derived the error term of a linear approximation as the base approaches \( \eta^+ \).
With a little additional algebra, this allows defining an sexp/slog extension to real numbers, for base e, by iterating the ln function "n" times. In practice, for base e, using n=5 will give approximately a million digits of precision. This also works for any other arbitrary base.
\( \text{sexp}_e(x) =
\lim_{b \to \eta^+}\text{ } \lim_{n \to \infty}
\text{ln(ln(ln(}\cdots
\text{sexp}_b (x + \text{slog}_b(\text{sexp}_e(n)))))) \)
error term =~ \( m^2*(1/(72*e))*sqrt(1/3) \)
relative error term =~ \( m*(1/(72*e))*sqrt(1/3) \)
with m=\( \text{slog}_b(e)-\text{slog}_b(\text{slog}_b(e)) \), as b approaches \( \eta^+ \), \( m=e-\text{slog}_b(e) \)
The error term uses the difference between a linear approximation, and a 3rd order approximation for the critical section. A linear approximation has a continuous 1st derivative, and a 3rd order approximation has a continuous 2nd derivative.
For this example, use a linear approximation to calculate sexp_e(-0.5), accurate to five significant digits. The relative error term required would be \( 10^{-5} \), which leads to m=~1/295. Use b=\( \eta \)+(1/1500). As a comparison, the other results I used were \( \eta \)+(1/25), but using a third order approximation. The base being used here is much closer to \( \eta \), and there are a lot more iterations.
Starting with the limit equation, I picked a value of n=5, for sexp_e(5). My excel spreadsheet can't handle sexp_e(5), but it can handle x=slog_b(slog_b(sexp_e(5)), which is x=10355300. Then, keep iterating x=log_b(x), another 65 times, for a total of 67 log_b iterations, until the value of x is less then log_b(e).
I stopped at x=2.71365. Now that x is in the linear region of the slog_b(x) curve, let x= sexp_b(slog_b(x)-0.5). For the slog_b function, I got a remainder term of 0.638016. Subtract 0.5, and use the linear approximation to begin the conversion back to the sexp_b, x=2.71194. The error term doubles to +/-0.000002 since two different linear approximations are required, one for the slog_b and another for the sexp_b.
Now iterate, taking x=b^x 66 times. I got x=5.36*10^77. One last exponentiation will be too large for the spread sheet, so I pair it up with the first ln. Let x= ln(ln(ln(ln(ln(b^x))))). The result I got was sexp(-0.5)=0.497818+/-0.00002.
Using the more accurate 3rd order approximation for the critical section, I got sexp(-0.5)=0.49783297. The delta between the two values was 1.5*10^-5 which is less than 2*10^-5.
The next thing I plan to do is to convert the base=e sexp function posted by Kouznetsov to another base, probably b=1.45, and graph the equations and derivatives to show that Kouznetsov's sexp function requires a 1-cyclic definition of sexp/slog base conversions, as the limit cannot converge to a constant, but instead wobbles. Jay noticed the same thing for Andy's sexp/slog extension to real numbers. I will also graph the sexp_e function converting from base=1.45. Any other suggestions?

