# 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}$?

-
Are you searching for an algorithm a computer can perform, or for something a human can do? Also, note that you're looking for a possible vector, or an approximation of one. You may not always be able to require the original values. – GregRos Nov 8 '12 at 18:28
@GregRos: I'm looking for a computer algorithm (i.e numerical method). – Nicholas Kinar Nov 8 '12 at 18:30
So an approximation would be fine, correct? – GregRos Nov 8 '12 at 18:31
@GregRos: Yes, perhaps a least-squares method or something similar. – Nicholas Kinar Nov 8 '12 at 18:32
@NicholasKinar: What exactly do you mean by the numerical form of $f(x)$ is known. Can you give a concrete example of your problem?? – dexter04 Nov 8 '12 at 19:52

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)$$ $$\frac{\omega_h}{2\pi}\int\limits_{0}^{\tau} \Omega P(\tau ')\Omega^{P(\tau')}d\tau ' = \log{\beta_0}$$ 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!!

-
Yes, you are right about assuming that $Q(\tau)$ is real. And thank you for such a complete and wonderful answer! – Nicholas Kinar Nov 8 '12 at 23:56
Thanks!!Let me know what are the values of $n$ sufficient for your purpose once you code it. – dexter04 Nov 8 '12 at 23:58
Sure! I now realize that I may have to estimate sigma as well, but with a good estimate, the procedure looks fine on paper. – Nicholas Kinar Nov 9 '12 at 0:04