Let $f(x)$ be a function of $x\in(0,1)$ that I can compute numerically. I expect that there exists a convergent decomposition of the type $$ f(x) = \sum_{n=0}^\infty a_n x^{\Delta_n} $$ for some real numbers $a_n$ and $\Delta_0 < \Delta_1 < \Delta_2 < \cdots$. How can I numerically determine $\Delta_0,\cdots,\Delta_N$?

$\begingroup$ Can you explain why you are interested in this problem? $\endgroup$– user35593Aug 25, 2016 at 9:45

$\begingroup$ A sketch of an approach: For small $x$ we have $f(x)\approx a_0 x^{\Delta_0}$. So you can take the logarithm and polyfit. Then you can consider $f(x)a_0x^{\Delta_0}$ and iterate the process. $\endgroup$– user35593Aug 25, 2016 at 9:47

$\begingroup$ The problem is interesting in conformal field theory, where fourpoint correlation functions behave as my function $f(x)$. The values $\{\Delta_n\}$ essentially determine the space of states of the theory. In my case I can compute $f(x)$ by summing an expansion in powers of $1x$, and I need to decompose it into powers of $x$. $\endgroup$– Sylvain RibaultAug 25, 2016 at 9:50

1$\begingroup$ In my experience the small $x$ behaviour does not give a good precision for $\Delta_0$, let alone higher $\Delta_n$. This may be because my numerical determination of $f(x)$ becomes less precise near $x=0$. $\endgroup$– Sylvain RibaultAug 25, 2016 at 9:52

$\begingroup$ Can you post that "expansion in powers of $(1x)$"? If it is good enough, there is a chance that the answer may be given in terms of its coefficients directly without passing through any computations of $f(x)$, which would be certainly better from any standpoint. $\endgroup$– fedjaAug 25, 2016 at 12:27
1 Answer
I'm not 100% on this (forget where I read it) but fractional calculus can deal with this problem. This is too long to post as a comment but I think it might help.
If we take the RiemannLiouville operator $D^{a}$ that satisfies $D^a x^b = \frac{\Gamma(b+1)}{\Gamma(ba+1)}x^{ba}$ it gives $D^{\Delta_0}f(x)\Big{}_{x=0} = \Gamma(\Delta_0 + 1)a_0$. To solve $a_1$ just take $D^{\Delta_1}(f(x)  a_0x^{\Delta_0}) \Big{}_{x=0}$, and iterating
$$\Gamma(\Delta_n + 1)a_n = D^{\Delta_n} (f(x)  \sum_{j=0}^{n1} a_jx^{\Delta_j})\Big{}_{x=0}$$
Now you have to know $\Delta_n$, and that the expansion exists, but this solution should work. To find the operator $D^a$ just google RiemannLiouville Differintegral.

$\begingroup$ If I knew $\Delta_n$ I could find $a_n$ by solving the linear system $f(x_i) = \sum_{n=0}^{N1} a_n x_i^{\Delta_n}$ for $N$ randomly chosen positions $x_i$. The difficult part is to find $\Delta_n$. $\endgroup$ Aug 26, 2016 at 9:27