Recursive Integration Over Piecewise Polynomials – Closed Form Solutions

fourier analysisintegrationpolynomialsrecurrence-relationsrecursion

Is there a closed form to the following recursive integration?

$$
f_0(x) =
\begin{cases}
1/2 & |x|<1 \\
0 & |x|\geq1
\end{cases}
\\
f_n(x) = 2\int_{-1}^x(f_{n-1}(2t+1)-f_{n-1}(2t-1))\mathrm{d}t
$$
It's very clear that this converges against some function and that quite rapidly, as seen in this image, showing the first 8 terms:
first 8 functions of the given recursion. Degrees 0 to 7

Furthermore, the derivatives of it have some very special properties.
Note how the (renormalized) derivatives consist of repeated and rescaled functions of the previous degree which is obviously a result of the definition of the recursive integral:
Degree 7 function, along with first and second derivative, each normalized to have same magnitude.

EDIT
I found the following likely Fourier transform of the expression above. I do not have a formal proof but it holds for all terms I tried it with (first 11).
$$ \mathcal{F}_x\left[f_n(x)\right](t)=\frac{\sin \left(2^{-n} t\right) \left(\prod _{k=1}^n \frac{2^{k+1} \sin \left(2^{-k} t\right)}{t}\right)}{\sqrt{2 \pi } t}$$

Here an image of how that looks like (first 10 terms in Interval $[-8\pi,8\pi]$):

Fourierspectrum of first 10 terms

With this, my question alternatively becomes:
What, if there is one, is the closed form inverse fourier transform of

$\mathcal{F}_x\left[f_n(x)\right](t)=\frac{\sin \left(2^{-n} t\right) \left(\prod _{k=1}^n \frac{2^{k+1} \sin \left(2^{-k} t\right)}{t}\right)}{\sqrt{2 \pi } t}$,
especially for the case $n\rightarrow\infty$?

Best Answer

Here is a formula for $f_n$:

\[ f_n(x) = \sum_{j=0}^{2^n} \left( \frac{c_n(j) - c_n(j-1)}{2}\frac{\left(2^n x + 2^n - 2j\right)^n H\left(2^nx + 2^n - 2j\right)} {n!2^{n(n-1)/2}} \right). \]

Here $H$ is the Heaviside step function, $c_n$ is defined by \[ c_n(j) = \begin{cases} 0 & \text{if $j<0$}\\ (-1)^{s(j)} & \text{if $0\leq j < 2^n$} \\ 0 & \text{if $j\geq 2^n$} \end{cases} \] and $s(j)$ is the sum of the digits of the binary representation of $j$. (For example $s(13) = s(0\text{b}1101) = 3$.)

While the Heaviside function is crucial to deriving the formula, it can be removed from the final result using the floor function (denoted $\lfloor \cdot \rfloor$):

\[ f_n(x) = \sum_{j=0}^{\lfloor2^{n-1}(x+1)\rfloor} \left( \frac{c_n(j) - c_n(j-1)}{2}\frac{\left(2^n x + 2^n - 2j\right)^n} {n!2^{n(n-1)/2}} \right). \]

Here is a plot of $f_{15}$ using this formula:

f15

Deriving the formula

First, separate the definition into two integrals and change variables, $2t+1 \mapsto t$ in the first, and $2t-1\mapsto t$ in the second, giving

\[ f_{n+1}(x) = \int_{-1}^{2x+1} f_n(t)\ dt - \int_{-3}^{2x-1}f_n(t)\ dt \]

Of course, we can change the -3 to -1 and combine these to a single integral:

\[ f_{n+1}(x) = \int_{2x-1}^{2x+1} f_n(t)\ dt \]

Then rewrite $f_0=(1/2)(H(t+1) - H(t-1))$. Note that the integral of $H(t)$ is $tH(t)$, whose integral is $(t^2/2)H(t)$, and so forth. Now we can write $f_n$ as a single iterated integral, for example

\[ f_3(x) = \frac12 \int_{2x-1}^{2x+1} \int_{2y-1}^{2y+1} \int_{2z-1}^{2z+1} (H(t-1) - H(t+1))dt\ dz\ dy \]

Each integration can be done doing several different changes of variables. This gives rise to the powers of 2 in the denominator.

Notes

Each $f_n$ is symmetric. The part from -1 to -0.5 is repeated four times. Due to the way that Heaviside functions work, it is computationally easiest to compute values for $f_n(x)$ for $x$ closer to -1.

Code

Here is some Python code to compute $f_n(x)$.

from __future__ import division
from math import factorial

def c(j, n):
    if j < 0 or j >= 2**n:
        return 0
    else:
        return (-1)**bin(j).count("1")

def f(x, n):
    numerator = 0
    for j in xrange(int(2**(n-1) * (x+1))):
        numerator += (c(j, n) - c(j-1, n)) * (2**n * x + 2**n - 2*j)**n
    denominator = 2 * 2**(n*(n-1)/2) * factorial(n)
    return numerator/denominator

print f(-0.75, 10)