0

I want to collect terms in x from a product of polynomials and Fourier transform. So I try following code:

(1 + x ) Distribute[FourierTransform[Normal[Series[Sqrt[1 + x f[t]], {x, 0, 2}]], t, \[Omega]]]
Collect[%, x]

But it doesn't work (it doesn't collect x inside Fourier transform) and the output is following:

$$\sqrt{2 \pi } \text{DiracDelta}[\omega ]+\text{FourierTransform}\left[\frac{1}{2} x f[t],t,\omega \right]+\text{FourierTransform}\left[-\frac{1}{8} x^2 f[t]^2,t,\omega \right]+x \left(\sqrt{2 \pi } \text{DiracDelta}[\omega ]+\text{FourierTransform}\left[\frac{1}{2} x f[t],t,\omega \right]+\text{FourierTransform}\left[-\frac{1}{8} x^2 f[t]^2,t,\omega \right]\right)$$

The result I expect is:

$$\sqrt{2 \pi } \text{DiracDelta}[\omega ]+x \left(\sqrt{2 \pi } \text{DiracDelta}[\omega ]+\frac{1}{2} \text{FourierTransform}[f[t],t,\omega ]\right)+x^2 \left(\frac{1}{2} \text{FourierTransform}[f[t],t,\omega ]-\frac{1}{8} \text{FourierTransform}\left[f[t]^2,t,\omega \right]\right)-\frac{1}{8} x^3 \text{FourierTransform}\left[f[t]^2,t,\omega \right]$$

Sandals
  • 15
  • 4

1 Answers1

0

It seems Fourier Transform have issue with linearity,to get around this I borrowed code from user xzczd

 NewFourierTransform[(h : List | Plus | Equal)[a__], t_, w_] := ft[#, t, w] & /@ h[a]
 NewFourierTransform[a_ b_, t_, w_] /; FreeQ[b, t] := b ft[a, t, w]
 NewFourierTransform[a_, t_, w_] := FourierTransform[a, t, w]


 func = Normal[Series[Sqrt[1 + x*f[t]], {x, 0, 2}]];

 (* 1 + 1/2 x f[t] - 1/8 x^2 f[t]^2 *)

 Collect[(1 + x) NewFourierTransform[func, t, \[Omega]], x]

$$x \left(\frac{1}{2} \left(\mathcal{F}_t[f(t)](\omega )\right)+\sqrt{2 \pi } \delta (\omega )\right)-\frac{1}{8} x^3 \left(\mathcal{F}_t\left[f(t)^2\right](\omega )\right)+x^2 \left(\frac{1}{2} \left(\mathcal{F}_t[f(t)](\omega )\right)-\frac{1}{8} \left(\mathcal{F}_t\left[f(t)^2\right](\omega )\right)\right)+\sqrt{2 \pi } \delta (\omega )$$

Mariusz Iwaniuk
  • 13,841
  • 1
  • 25
  • 41