1
$\begingroup$

I am using Mathematica 7.0 and trying to find the Fourier transform of a rather complex function g. The function g is defined by

$$g=\left(\textrm{e}^{\left(\frac{-0.008372\textrm{i}+0.008372\textrm{i}\textrm{e}^{t\sqrt{0.1369-0.006962\textrm{i}u}}}{-0.37+\textrm{e}^{t\sqrt{0.1369-0.006962\textrm{i}u}}(0.37+\sqrt{0.1369-0.006962\textrm{i}u}+1\sqrt{0.1369-0.006962\textrm{i}u}}+ t\left(\frac{0.00309764\textrm{i}}{0.37+\sqrt{0.1369-0.006962\textrm{i}u}}+\frac{0.00264992\textrm{i}}{0.37+\sqrt{0.1369-0.006962u}-0.0182\textrm{i}u}\right)u\right)}\times \left(\frac{1}{\sqrt{0.1369-0.006962\textrm{i}u}}\textrm{e}^{-t\sqrt{0.1369-0.006962\textrm{i}u}}\left(-0.185+0.5\sqrt{0.13-0.006962\textrm{i}u}+\textrm{e}^{t\sqrt{0.1369-0.006962\textrm{i}u}}\left(0.185+0.5\sqrt{0.1369-0.006962\textrm{i}u}-0.091\textrm{i}u\right)+0.091\textrm{i}u\right)\right)^{\frac{0.016\textrm{i}}{3.85575\textrm{i}+u}}\right)/\left(0.5+\textrm{e}^{-t\sqrt{0.1369-0.006962\textrm{i}u}}\left(0.5-\frac{0.185}{\sqrt{0.1369-0.006962\textrm{i}u}}\right)+\frac{0.185}{\sqrt{0.1369-0.006962\textrm{i}u}}\right)^{0.889871}$$

Where $t \in \mathbb{R}_+, u \in \mathbb{R}$. (I'm truly sorry, as I first posted this question I had an typing error in my code which I was unable to notice, thus the function was different the first time.)

I am looking for the inverse Fourier transformation

$$\hat{g}(z)=\frac{1}{2 \pi}\int_{-\infty}^{\infty}\textrm{e}^{-\textrm{i}uz}g(u,t)du$$

I tried Mathematica's InverseFourierTransform-function (code InverseFourierTransform[g,u,z]), but the calculation takes forever.

Because $t$ is actually discrete I tried to table the values of $t$ and then calculating the inverse transformation with $u$ being the only variable in the function $g$. This didn't seem to help though...

The function $g$ is formed by sevaral "smaller" functions. Here's all of my code:

γi[κ_,σ_]:=Sqrt[κ^2 - 2 I  u  σ^2  ]
ci[κ_,σ_]:=(γi[κ,σ]+κ)/(2 I  u)
di[κ_,σ_]:=(-κ+γi[κ,σ])/(2 I  u )
ei[μ_,κ_,σ_]:=1-μ/ci[κ,σ]
fi[μ_,κ_,σ_]:=(di[κ,σ]+μ)/ci[κ,σ]

alphai[T_,κ_,θ_,σ_,l_,μ_]:=-2(κ θ)/(σ^2)Log[(ci[κ,σ]+di[κ,σ] Exp[-γi[κ,σ] T])/(ci[κ,σ]+di[κ,σ])]+(κ θ/ci[κ,σ])T+(l (di[κ,σ]/ci[κ,σ]-fi[μ,κ,σ]/ei[μ,κ,σ])/(-γi[κ,σ] fi[μ,κ,σ]))Log[(ei[μ,κ,σ]+fi[μ,κ,σ] Exp[-γi[κ,σ] T])/(ei[μ,κ,σ]+fi[μ,κ,σ])]+l (1-ei[μ,κ,σ] )/ei[μ,κ,σ] T

betai[T_,κ_,σ_]:= (1-Exp[-γi [κ,σ]T])/(ci[κ,σ]+di[κ,σ] Exp[-γi[κ,σ] T])

MFi[t_,κ_,θ_,σ_,l_,μ_,x0_]:=Exp[alphai[t,κ,θ,σ,l,μ]+betai[t,κ,σ]x0]

g=Simplify[MFi[t,0.37,0.004186,0.059,0.01456,0.091,0.004186]]

InverseFourierTransform[g,u,z]

gS=Table[g,{t,1/4,5,1/4}];

InverseFourierTransform[gS[[1]],u,z]

Is there something I am doing wrong or is there some other way I could try?

$\endgroup$
  • $\begingroup$ Hi, welcome to Mathematica.SE, please consider taking the tour so you learn the basic rules of the site. Here its considered helpful to share your code attempts, hopefully is a well formatted way, so we can quickly see the problem you are facing. Please edit your question accordingly. $\endgroup$ – rhermans Jan 28 '15 at 13:17
  • $\begingroup$ Hi ! You should include the function definition using the InputForm functionality. I highly doubt that one will start writing this tedious expression in Mathematica. $\endgroup$ – Sektor Jan 28 '15 at 13:19
  • 3
    $\begingroup$ Because t is actually discrete I tried to table the values of t and then calculating the inverse transformation with u being the only variable in the function f. Why not just use Fourier and InverseFourier since your data is discrete? $\endgroup$ – Nasser Jan 28 '15 at 13:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.