私はSympyがtrig関数のFourier transformを計算するのを間違えていると思う。たとえば:フーリエ変換Sympyのtrig関数が予期しない結果を返す
from sympy import fourier_transform, sin
from sympy.abc import x, k
print fourier_transform(sin(x), x, k)
予想答えvia Mathematicaは
ですがSympyは0ですが、時には機能はfourier_transform(Heaviside(t)*cos(t),t,omega)
ので、非常にうまく機能し、正しい答えを返すfourier_transform(Heaviside(t)*sin(t),t,omega)
返します。私はSympyがフーリエ変換を計算するためにラプラス変換を使用しているかもしれないと思います。
まあ、「sin」のフーリエ変換は、デルタ関数の合計です。 Sympyがデルタ関数を表現するのが難しい場合があります。 Mathematicaでは、 'FourierTransform [HeavisideTheta [t]、' t '、 'omega'}'は '-I /(2 * pi * omega)'を生成するのに対し、 'sympy.fourier_transform DiracDelta [w] '(したがって、sympyはここでもデルタ関数を削除しています)。 – senshin
sympyにはデルタ関数 'DiracDelta'があるので、そうするのは非常に奇妙です。 – Kattern