Approximating a function in the form $\frac{1}{1-\sum_n b_n \exp(-(x-x_n)^2/a_n^2)}$

30 Views Asked by At

I need a good analytical approximation for the function which has the form:

$$f(x)=\frac{1}{1-\sum^N_n b_n \exp(-(x-x_n)^2/a_n^2)}$$

$$|b_n|<1$$

I need this function approximated as a sum of Gaussian functions (that would make it easy to integrate in my case).

For small number of terms in the sum, we can use geometric series, however for large $N$ it becomes inconvenient.

If all the distances between different maxima obey the condition $|x_n-x_{n+1}| \gg a_n+a_{n+1}$, in other words, we have $N$ distinct peaks, then a very good approximation is:

$$f(x) \approx 1+\sum^N_n \frac{b_n}{1-b_n} \exp \left(-\frac{(x-x_n)^2}{a_n^2} \right)$$

Here's an example for the case:

$$N=2, \qquad b_1 = \frac{1}{3}, \qquad x_1 = 4, \qquad a_1^2 =2 \\ b_2 = \frac{1}{2}, \qquad x_2 = -3, \qquad a_2^2 =3$$

enter image description here

The approximation (green) overshoots the function a little, but gives the correct maxima.

My question is: how do I improve this approximation without complicating the expression too much (I'd really prefer if the number of Gaussians in the approximation was no greater than $N$).

I suppose I could use some standard Gaussian fit routines in Mathematica or any other program, but it's not very convenient to do it every time and will they even give a better approximation?


Update:

I found a slightly better approximation for $b_n$ close to $1$, but not with Gaussian functions:

$$f(x) \approx 1+\sum^N_n \frac{b_n}{1-b_n} \frac{1}{\cosh^2 \left(\sqrt{2}\frac{(x-x_n)}{a_n} \right)}$$

It doesn't work as well for $|b| \ll 1$, which are better described by the first approximation.