Difference between revisions of "AuZex Approximation"

From TORI
Jump to navigation Jump to search
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
  +
#redirect [[AuZex Approximation]]
[[File:AuZexLamPlotT.jpg|440px|thumb|Fig.1. Plot of [[AuZex]] (thick curve) in comparison to [[LambertW]] (thin curve) ]]
 
[[File:AuZexMapT.jpg|420px|thumb|Fig.2. [[Complex map]], $u\!+\!\mathrm i = \mathrm {AuZex}(x\!+\!\mathrm i y)$]]
 
This article describes the approximations of [[AuZex]], which is [[inverse function]] of [[SuZex]] and [[Abel function]] of [[zex]]. The explicit plot of function [[AuZex]] is shown in figure 1. Its complex map is shown in figure 2. This map should be compared to the similar maps for the approximations below.
 
 
==Background==
 
[[AuZex]] is [[Inverse function]] of [[SuZex]], so, in wide ranges of values of $z$, the relations
 
 
(1) $ ~ ~ ~ \mathrm{SuZex}\Big( \mathrm{AuZex}(z) \Big) = z $
 
 
and
 
 
(2) $ ~ ~ ~ \mathrm{AuZex}\Big( \mathrm{SuZex}(z) \Big) = z $
 
 
should hold. In particular, $~\mathrm{AuZex}(1)=0$.
 
 
Also, [[AuZex]] satisfies the [[Abel equation]]
 
 
(3) $ ~ ~ ~ \mathrm{AuZex}\Big( \mathrm{zex}(z) \Big) = \mathrm{AuZex}(z) +1$
 
 
in this case, [[zex]] appears as [[transfer function]], and [[AuZex]] is its Abel function.
 
Iterations of equation (3) gives the relations
 
 
(4) $ ~ ~ ~ \mathrm{AuZex}\Big( \mathrm{zex}^n(z) \Big) = \mathrm{AuZex}(z) +n$
 
 
This can be re-writtern also as
 
 
(5) $ ~ ~ ~ \mathrm{AuZex}\Big( \mathrm{LambertW}^n(z) \Big) = \mathrm{AuZex}(z) - n$
 
 
as [[LambertW]] is [[inverse function]] of [[zex]].
 
 
The relations above indicate ways to construct the efficient approximation of [[AuZex]], covering the whole complex plane, and make the efficient (fast and precise) implementation.
 
 
==Taylor expansion at unity==
 
<div class="thumb tright"><div style="width:15em;">
 
Coefficients in expansion (3)
 
: $\!\!\!\!\!\!\!\!\!\! \!\!\!\!\!\!\!\!\!\! \displaystyle
 
\begin{array}{r|r}
 
n & c_n~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ \\ \hline
 
0 & 0.0000000000000000 \\
 
1 & 1.4011764331478447\\
 
2 & -1.2313176379841106\\
 
3 & 1.1612567820116564\\
 
4 & -1.1231269305776580\\
 
5 & 1.0992876544297898\\
 
6 & -1.0830479804216504\\
 
7 & 1.0713113178859344\\
 
8 & -1.0624516150969114
 
\end{array}
 
$
 
</div></div>
 
Some tens of coefficients of the Taylor expansion of function [[AuZex]] can be evaluated just inverting the Taylor expansion of $\mathrm{SuZex}(z)$ at $z\!=\!0$; that leads to the approximation
 
 
(3) $ ~ ~ ~ \displaystyle \mathrm{AuZex}(1+t)\approx\mathrm{AuZt}_N(1\!+\!t)=\sum_{n=1}^N c_n t^n$
 
 
Approximatoins for the first eight coefficients $c$ are shown in the table at right.
 
 
The [[Complex map]] of this approximation AuZt with $N\!=\!32$ is shown in Figure 3.
 
The agreement
 
 
(4) $ ~ ~ ~ \displaystyle
 
A(z)=-\lg\left(
 
\frac
 
{\left|\mathrm{SuZex}\Big(\mathrm{AuZt}_{32}(z)\Big)- z\right|}
 
{\left|\mathrm{SuZex}\Big(\mathrm{AuZt}_{32}(z)\Big)\right|+|z|}
 
\right)
 
$
 
 
is shown in figure 4.
 
 
(sorry, the figures are not yet loaded)
 
 
Iterations of function [[LambertW]] applied to the argument of function AuZt give the approximation
 
 
(5) $ ~ ~ ~ \displaystyle
 
\mathrm{AuZex}(z) \approx \mathrm{AuZt}_n( \mathrm{LambertW}^n(z))+n$
 
 
The complex maps of these approximations are shown in figure 5. While the efficient implementation for function [[LambertW]] is available, the iterations for integer $n$ in (5) cause no problems.
 
 
==Asymptotic expansion==
 
The approximations by (5) cover the most of the complex plane, except the region in vicinity of the origin of coordinates.
 
For this region, the asymptotic expansion below van be used:
 
 
(6) $ ~ ~ ~ \displaystyle
 
\mathrm{AuZex}(z) \approx \mathrm{AsZa}_N\Big(\mathrm{LambertW}^m(z)\Big)+x_1+m$
 
 
where
 
 
(7) $ ~ ~ ~ \displaystyle \mathrm{AsZa}_N(t)=\frac{-1}{t} + \frac{1}{2} \ln(t) + \sum_{n=1}^N ~ b_n\, t^n$
 
 
The coefficients $b$ of this expansion can be generated by [[Mathematica]] with code
 
 
So1[z_, a_] := Extract[Extract[Solve[z, a], 1], 1]
 
zex[z_] = z Exp[z]
 
Clear[b];
 
g[n_,z_] = -1/z + Log[z]/2 + Sum[b[m] z^m, {m, 1, n}]
 
For[k=1,k<64,
 
b[k]=ReplaceAll[b[k],So1[Coefficient[Series[g[k,zex[z]]-g[k,z]-1,{z,0,k+1}],z^(k+1)]==0, b[k]]];
 
Print[b[k]]; k++]
 
 
Coefficients $b_n$ for $n\!=\!1..9$ are shown in the table
 
 
$\begin{array}{c|ccl}
 
n & b_n & &{\rm ~approximation ~ of~ ~} b_n\\ \hline \\
 
1 & -1/6 &\approx&-0.1666666666666666667\\
 
2 & 1/16 &\approx& ~ ~ ~ 0.0625\\
 
3 & -19/540&\approx& -0.0351851851851851852 \\
 
4 & 1/48&\approx& ~ ~ ~ 0.0208333333333333333 \\
 
5 & -41/4200&\approx& -0.0097619047619047619\\
 
6 & 37/103680&\approx& ~ ~ ~ 0.00035686728395061728\\
 
7 & 18349/3175200&\approx&~ ~ ~ 0.005778848576467624 \\
 
8 & -443/80640 &\approx& -0.005493551587301587\\
 
9 & 55721/21555072&\approx& -0.002585052835824441
 
\end{array}
 
$
 
<!--
 
Complex map of function AsZa is shown in figure.
 
 
The agreement
 
 
(8)
 
 
is shown in figure
 
!-->
 
 
==Implementation of AuZex==
 
The approximations above cover the whole complex plane. On the base of these approximations, the [[complex double]] function AuZex is implemented. The implementation is available as [[AsZex.cin]].
 
This implementation provides of order of 15 correct decimal digits, and the errors are comparable to the rounding errors at the [[Complex double]] arithmetics.
 
 
Similar approach is used to implement two [[Abel function]]s of the exponential to to base $b=\exp^2(-1)=\exp(1/\mathrm e)\approx 1.444667861$
 
<ref>
 
http://tori.ils.uec.ac.jp/PAPERS/2012e1eMcom2590.pdf
 
H.Trappmann, D.Kouznetsov. Computation of the Two Regular Super-Exponentials to base exp(1/e). Mathematics of Computation, 2012 February 8. ISSN 1088-6842(e) ISSN 0025-5718(p)
 
<!-- http://www.ams.org/journals/mcom/0000-000-00/S0025-5718-2012-02590-7/S0025-5718-2012-02590-7.pdf Journal version (the registration may be required) !-->
 
</ref>. In that case, the [[transfer function]] $\exp_b$ also has derivative unity at its fixed point $L=\mathrm e\approx 2.718$
 
 
==References==
 
<references/>
 
 
[[Category:Draft]]
 
[[Category:AuZex]]
 
[[Category:Abel function]]
 
[[Category:Zex]]
 
[[Category:LambertW]]
 
[[Category:Articles in English]]
 

Latest revision as of 06:58, 1 December 2018