Computing digits of irrational exponentiation Let us have positive irrational numbers $a$ and $b$ represented by functions $f_a,f_b\colon\mathbb{N}\to\mathbb{N}$ respectively such that $f_a(0)=\left \lfloor{a}\right \rfloor$ and $f_a(i)$, $i>0$ is the ith digit of $a$, and similarly for $b$.
Is there some "standard" way to compute $f_{a^b}$ from $f_a$ and $f_b$? I would like to compute the some digits of $a^b$ and I'm convinced there are algorithms for this but I can't find any.
 A: I do not think there is an algorithm (or you have to change something
to allow algorithms that never end with some data). Consider the two numbers 
$$a=(3/2)^\sqrt{2}=1.77431468418218794421950\dots\quad 
b=\frac{1}{\sqrt{2}}=0.70710678118654752440084436210\dots$$
We have 
$$a^b=\frac{3}{2}=1.5$$
Then slightly changing $a$ or $b$ will make the second digit after the decimal
point equal to $9$ or to $0$.  Therefore we need to know all the digits of 
$a$ or $b$ to determine this second digit.
If the given numbers are $a$ and $b$ you will need to test all its digit to determine
this second digit.
Of course it is an issue. Since your data $f_a$ and $f_b$ are infinite, I assume 
that they act as oracles, i.e. your algorithm at any moment can ask for the value 
of $f_a(i)$ or $f_b(i)$. Assume that you give the above numbers and your program 
stop giving a value $0$ or $9$ for the second digit.  Since your algorithm has stopped
at a finite time he would have ask only for a finite number of values of 
$f_a(i)$ and $f_b(i)$. Meaning that this algorithm will give the same answer for 
any irrational with these values in common. But it is clear that there are other 
irrational numbers sharing these digits and for which the correct value is just the opposite your program 
gives.  And also this value will not be equivalent because it will be a number
not ending in all "0" or all "9". 
So any algorithm will give wrong answers for some numbers.
A: The "standard" method should be along the lines of "forming" an approximation of a and b from their digit representations, then computing exp(b* log(a)) using standard routines for approximations. You should look at routines used in scientific calculators (the relevant search terms escape my memory).
Something that might be of interest: decide on a low precision (say bits=16), and compute $a^b$ where each has so many bits to twice the precision, and a and b are numbers in (0,1).  Then run a logic minimizer on the table to see if you can build a small Boolean circuit that computes this.  It may be interesting to see how much you can speed up numeric computations with a (minimized for depth) logic circuit.
Gerhard "Make Computations Wider And Faster" Paseman, 2015.11.05 
