There are two common definitions of inverse Fourier transform depending on 
how the frequency variable is interpreted. (See The 
stackexchange post is using the angular frequency ω that differs by the 
factor 2π from frequency variable assumed by SymPy. The transforms are also 
differently normalized. That may explain the differing results.

Kalevi Suominen

On Tuesday, April 10, 2018 at 9:16:57 AM UTC+3, Janko Slavič wrote:
> I am trying to replicate this:
> with sympy.
> With Mathematica I get just the same behavior as the above theory suggest. 
> With sympy I it looks wrong. At t<0, I get the result close to the correct 
> one for t>0. (I was not able to include all the assumptions in sympy).
> Here is the sympy code:
> import sympy as sym
> sym.init_printing()
> ω = sym.symbols('omega', real=True, positive=True) 
> R, λ = sym.symbols('R, lambda', complex=True)
> t = sym.symbols('t', real=True, positive=True)
> α = R/(sym.I*ω-λ)+sym.conjugate(R)/(sym.I*ω-sym.conjugate(λ))
> α
> sym.inverse_fourier_transform(α, ω, -t)
> and the Mathematica:
> a = InverseFourierTransform[ R/(I omega - lambda) +  Conjugate[R]/(I omega 
> - Conjugate[lambda]), omega, t,
>   FourierParameters -> {1, -1}]
> Simplify[a, {Re[lambda] < 0, t > 0}]
> Is the sympy result really wrong?

You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
To post to this group, send email to
Visit this group at
To view this discussion on the web visit
For more options, visit

Reply via email to