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

  • $\begingroup$ 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. $\endgroup$ – GregRos Nov 8 '12 at 18:28
  • $\begingroup$ @GregRos: I'm looking for a computer algorithm (i.e numerical method). $\endgroup$ – Nicholas Kinar Nov 8 '12 at 18:30
  • $\begingroup$ So an approximation would be fine, correct? $\endgroup$ – GregRos Nov 8 '12 at 18:31
  • $\begingroup$ @GregRos: Yes, perhaps a least-squares method or something similar. $\endgroup$ – Nicholas Kinar Nov 8 '12 at 18:32
  • $\begingroup$ @NicholasKinar: What exactly do you mean by the numerical form of $f(x)$ is known. Can you give a concrete example of your problem?? $\endgroup$ – 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)$$ \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!!

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

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.