Determining function inputs when outputs are recursively related to each other I have a vector $\bf{b}$, and elements of this vector are generated by evaluating a rather complicated function $f(x)$ for $f(x_0), f(x_1),...,f(x_N)$.
Here are the equations that constitute $f(x)$. Let $x=Q(\tau)$ in the following so:
$f(x) =\tilde U(\tau , \omega, Q(\tau)) = \tilde U(\tau ,\omega, x) = \frac{1}{{\Lambda (\tau ,\omega )}}\exp \left[ {i\int\limits_0^\tau  {\left( {{{\left( {\frac{\omega }{{{\omega _h}}}} \right)}^{\frac{1}{{\pi Q(\tau ')}}}} - 1} \right)\omega } d\tau '} \right]$
$\Lambda (\tau ,\omega ) = \frac{{\beta (\tau ,\omega ) + {\sigma ^2}}}{{{{\left( {\beta (\tau ,\omega )} \right)}^2} + {\sigma ^2}}}$
$\beta (\tau ,\omega, Q(\tau)) = \exp \left[ { - \int\limits_0^\tau  {\frac{\omega }{{2Q(\tau ')}}{{\left( {\frac{\omega }{{{\omega _h}}}} \right)}^{\frac{{ - 1}}{{\pi Q(\tau ')}}}}} d\tau '} \right]$
All variables other than $Q(\tau)$ are known.
However, due to the cumulative integration, the evaluation of $f(x_1)$ is dependent on $f(x_0)$, and so on, such that $f(x_N)$ is dependent on $f(x_{N-1})$. 
Note that inside of $f(x)$ is a integration numerically implemented as a running sum using the trapezoidal rule.  For each element $f(x_k)$, the integration is from $x_0$ to $x_k$.
Suppose that I do not know $f(x_0)$, but I do know the numerical form of $f(x)$.
Furthermore, suppose that all I know are evaluations of function $f(x)$ for $f(x_0), f(x_1),...,f(x_N)$.  These are elements of vector $\bf{b}$. 
Is there a numerical procedure that I can use (i.e. non-linear curve fitting or solving a system of equations) to determine $x_0,...,x_N$ from the vector $\bf{b}$?
 A: I am assuming that $Q(\tau)$ is real. Since it is real, $f(x)$ is of the form
$$f(x) = \frac{1}{\Lambda(\omega,\tau)}\exp(i\theta)$$ where $\theta$ is the complicated integral mentioned above. Note that $\theta$ will be real.
So, $$\Lambda(\omega,\tau) = \pm |\frac{1}{f(x)}|$$
 Let us consider the positive solution. The negative one is a simple extension.
Since you know the value of $\sigma$, you can find out the value of $\beta(\omega,\tau)$. Let it be $\beta_0$
Define $$\frac{\omega}{\omega_h}=\Omega, \frac{-1}{\pi Q(\tau)}= P(\tau)$$
\begin{equation}
\frac{\omega_h}{2\pi}\int\limits_{0}^{\tau} \Omega P(\tau ')\Omega^{P(\tau')}d\tau ' = \log{\beta_0}
\end{equation}
The value of $\Omega$ is also known.
So, the problem reduces to finding $f(\tau)$ when the value of $\int\limits_{0}^{\tau}f(\tau ')\exp{f(\tau ')}d\tau '$ is known. The last equation can be transformed into this form by changing the base of the exponent from $\Omega$ to $e$.
Now, expand $f(\tau)$ up to $n$ terms in any basis - polynomial, orthogonal polynomials like Legendre or something else, and solve. 
The value of $n$ depends on the range of variation in values of $\tau$ in your application.
As for basis,in my experience, orthogonal basis are the best.
Last step: Remember the negative value. Repeat the same with that value, get another value of $P(\tau ')$. Now start with both the values of $P(\tau')$, and calculate $\tilde{U}(\omega,\tau)$ for them. Whichever gives back the original value is the correct solution.
PS: In order to solve the system of linear equation arising from the coefficients of basis functions, you need $n\leq N$.
Hope it helps!!
