What function smoothly interpolates between the identity and exponential (or log and identity) functions? - MathOverflow [closed]most recent 30 from http://mathoverflow.net2013-06-20T01:13:53Zhttp://mathoverflow.net/feeds/question/66150http://www.creativecommons.org/licenses/by-nc/2.5/rdfhttp://mathoverflow.net/questions/66150/what-function-smoothly-interpolates-between-the-identity-and-exponential-or-logWhat function smoothly interpolates between the identity and exponential (or log and identity) functions?DoubleJay2011-05-27T02:58:39Z2011-05-27T06:22:22Z
<p>Or rather, what function can be parametrized with some value t in [0,1] such that f(x, t= 0) = x, f(x, t = 1) = e^x, and f(x, 0 < t < 1) is a principled interpolation between those two, kind of like the gamma function is a principled interpolation for the discrete factorial.</p>
<p>Obviously, many functions fit the bill, like f(x,t) = x^(1 + t*(x/ln(x)-1) ), but that seems kind of arbitrary.</p>
<p>What mathematically useful/elegant function exists?</p>
http://mathoverflow.net/questions/66150/what-function-smoothly-interpolates-between-the-identity-and-exponential-or-log/66156#66156Answer by Aaron Meyerowitz for What function smoothly interpolates between the identity and exponential (or log and identity) functions?Aaron Meyerowitz2011-05-27T06:14:59Z2011-05-27T06:22:10Z<p>Igor's answer is probably better but I'll observe that we want to interpolate between <code>$e^{\ln{x}}$</code> at <code>$t=0$</code> and <code>$e^x$</code> at <code>$t=1.$</code> Furthermore $\int x^{-1}dx=\ln(x)+C$ and $\int x^0 dx=x+C.$ </p>
<p>Rearranging a bit, since <code>$\displaystyle \lim_{t \rightarrow 0^{+}}\frac{x^t-1}{t}=\ln{x},$</code> I am tempted by $$e^{\frac{x^t-1}{t}}=\sqrt[t]{e^{x^t-1}}.$$ That does not quite work at $t=1$ since it becomes $e^{x-1}.$ However it is also true that $\ \displaystyle \lim_{t \rightarrow 0^{+}}\frac{(x+t)^t-1}{t}=\ln{x}$ and that works at both ends as do $\frac{x^t-1+t^2}{t}\ $ and $\frac{x^t-1+t^{2-t}}{t}.$ </p>
http://mathoverflow.net/questions/66150/what-function-smoothly-interpolates-between-the-identity-and-exponential-or-log/66158#66158Answer by Gottfried Helms for What function smoothly interpolates between the identity and exponential (or log and identity) functions?Gottfried Helms2011-05-27T06:22:22Z2011-05-27T06:22:22Z<p>A not-so-arbitrary solution is the following, which is in fact a polynomial approximation whose maximal possible order depends on the resources of your favorite software and computer-memory. </p>
<p>The idea is to use a matrixoperator/"Carleman-matrix" <strong>B</strong> for the generation of a powerseries (in fact a truncated one, so only a polynomial) for the exponential-function and then by the zero'th power <strong>B^0</strong> have the coefficients of the ID-function $f(x)=x $ , by the first power get the coefficients for $f(x)=exp(x)$, by the second power the coefficients of $f(x)=exp(exp(x))$ and so on. One may speak of iteration and iteration-height h here, where h is in the exponent of the matrix: <strong>B^h</strong> and in the iteration-parameter $f(x,h)=exp^{[h]}(x)$ . $h=0$ gives then the id-function, $h=1$ the exponential function. </p>
<p>Fractional powers of <strong>B</strong> for fractional iteration can then be approximated by fractional powers of <strong>B</strong>. Such fractional powers can be computed by matrix-diagonalization:<br>
$ \qquad \qquad B = W*D*W^{-1} $ and $ \qquad \qquad B^h = W*D^h*W^{-1} $ where th diagonal-matrix <strong>D</strong> can raised to any power since we need only the h'th power of the scalar diagonal-entries. </p>
<p>So if you define the matrix <strong>B</strong> by $ B = \operatorname{matrix}_{(r=0 ... n-1),(c=0...n-1)}( c^r/r!) $ for some finite dimension <em>n</em>, say 16 or 32, then you get order 16 or -32 polynomials in two variables: $f_n(x,h)\approx \exp^{[h]}(x) $. </p>
<p>An implementation in Pari/GP is simple; however the required float precision is huge already for small <em>n</em>. Using <em>n=16</em> I get away with float-precision of 200 decimal digits, for <em>n=32</em> I need already 1200 or 1600 digits, <em>n=64</em> (which is usually my default order for such problems) was unreachable so far: </p>
<pre><code>n=16
B = matrix(n,n,r,c,(c-1)^(r-1)/(r-1)!)
W = mateigen(B)
WI = W^-1
D = diag( WI * B * W ) \\ diag extracts the diagonal into a column-vector
bpow(h) = W * matdiagonal (vector(n,r,D[r]^h)) * WI
f(x,h) = Bh = bpow(h); return( sum(r=1,n, x^(r-1)*Bh[r,2]) )
</code></pre>
<p>Clearly, this code can/should be optimized. With <em>n=32</em> you get quite reasonable approximations for some range for, say $-0.5