class_docstr: Fast Fourier Transform.
  
  .. TODO:
      The current implementation just works for matrix inputs, and permits
      taking a 1D FFT over either rows or columns. Add support for N-D FFTs
      as provided by either numpy or FFTW directly.
  
  .. TODO:
      Give the C code that uses FFTW.
  
  .. TODO:
      Unit tests.
class_docstr_tok: ["Fast","Fourier","Transform",".","..","TODO",":","The","current","implementation","just","works","for","matrix","inputs",",","and","permits","taking","a","1D","FFT","over","either","rows","or","columns",".","Add","support","for","N-D","FFTs","as","provided","by","either","numpy","or","FFTW","directly",".","..","TODO",":","Give","the","C","code","that","uses","FFTW",".","..","TODO",":","Unit","tests","."]
code: def grad(self, inp, out):
      frames, n, axis = inp
      g_spectrogram, g_buf = out
      return [grad_todo(frames), None, None]
  
file_path: Theano/theano/sandbox/fourier.py
imports: from __future__ import absolute_import, print_function, division
  import numpy
  import numpy.fft
  from six.moves import xrange
  from theano import tensor
  from theano.gof import Op, Apply, generic
  import warnings
label_desc: Use image node_id 4 for calling the FFT obj's underlying member method code with example usage: obj.grad(inp, out) and returns: list