Skip to main content
3 of 3
added 31 characters in body
Coolwater
  • 20.5k
  • 3
  • 39
  • 66

The documentation contains the following inverse for the 1D case:

dtft = ListFourierSequenceTransform[{1/5, 1/4, 1/3, 1/2, 1}, ω]
Table[InverseFourierSequenceTransform[dtft, ω, n], {n, 0, Length[dtft] - 1}]

In higher dimension

InverseListFourierSequenceTransform[L_, p_List] :=
         Normal[SparseArray[With[{sz = Length[p]},
           With[{xs = Unique[ConstantArray["x", sz]], 
                 cs = Unique[ConstantArray["c", sz + 1]]}, (Remove /@ Join[cs, xs]; #)&[
         (List @@ InverseFourierTransform[L, p, xs + 1, FourierParameters -> {1, 1}] /.
           Pattern[Evaluate[Last[cs]], Blank[]] Times @@ MapThread[DiracDelta[# + 
             Pattern[#2, Blank[]]] &, {xs, Most[cs]}] -> #) &[Most[cs] -> Last[cs]]]]]]]

which also works in 1D if you provide the variable argument in a list.

Note that it is only a right inverse. A left inverse doesn't exist because of the we don't have injectivity:

 ListFourierSequenceTransform[{1/5, 1/4, 1/3, 1/2, 1, 0}, ω] ===
   ListFourierSequenceTransform[{1/5, 1/4, 1/3, 1/2, 1}, ω]

True

Coolwater
  • 20.5k
  • 3
  • 39
  • 66