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$
    – user35593
    Aug 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$
    – user35593
    Aug 25, 2016 at 9:47
  • $\begingroup$ The problem is interesting in conformal field theory, where four-point 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 $1-x$, and I need to decompose it into powers of $x$. $\endgroup$ Aug 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$ Aug 25, 2016 at 9:52
  • $\begingroup$ Can you post that "expansion in powers of $(1-x)$"? 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$
    – fedja
    Aug 25, 2016 at 12:27

1 Answer 1


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 Riemann-Liouville operator $D^{a}$ that satisfies $D^a x^b = \frac{\Gamma(b+1)}{\Gamma(b-a+1)}x^{b-a}$ 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}^{n-1} 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 Riemann-Liouville Differintegral.

  • $\begingroup$ If I knew $\Delta_n$ I could find $a_n$ by solving the linear system $f(x_i) = \sum_{n=0}^{N-1} 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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.