class_docstr: fft tools for arma processes
  
  This class contains several methods that are providing the same or similar
  returns to try out and test different implementations.
  
  Notes
  -----
  TODO:
  check whether we do not want to fix maxlags, and create new instance if
  maxlag changes. usage for different lengths of timeseries ?
  or fix frequency and length for fft
  
  check default frequencies w, terminology norw  n_or_w
  
  some ffts are currently done without padding with zeros
  
  returns for spectral density methods needs checking, is it always the power
  spectrum hw*hw.conj()
  
  normalization of the power spectrum, spectral density: not checked yet, for
  example no variance of underlying process is used
class_docstr_tok: ["fft","tools","for","arma","processes","This","class","contains","several","methods","that","are","providing","the","same","or","similar","returns","to","try","out","and","test","different","implementations",".","Notes","--","--","-","TODO",":","check","whether","we","do","not","want","to","fix","maxlags",",","and","create","new","instance","if","maxlag","changes",".","usage","for","different","lengths","of","timeseries","?","or","fix","frequency","and","length","for","fft","check","default","frequencies","w",",","terminology","norw","n_or_w","some","ffts","are","currently","done","without","padding","with","zeros","returns","for","spectral","density","methods","needs","checking",",","is","it","always","the","power","spectrum","hw","*","hw.conj","(",")","normalization","of","the","power","spectrum",",","spectral","density",":","not","checked","yet",",","for","example","no","variance","of","underlying","process","is","used"]
docstr: Fourier transform of AR polynomial, zero-padded at end to n
  
  Parameters
  ----------
  n : int
      length of array after zero-padding
  
  Returns
  -------
  fftar : ndarray
      fft of zero-padded ar polynomial
docstr_tok: ["Fourier","transform","of","AR","polynomial",",","zero-padded","at","end","to","n","Parameters","--","--","--","--","--","n",":","int","length","of","array","after","zero-padding","Returns","--","--","--","-","fftar",":","ndarray","fft","of","zero-padded","ar","polynomial"]
code: def fftar(self, n=None):
      """Fourier transform of AR polynomial, zero-padded at end to n
  
      Parameters
      ----------
      n : int
          length of array after zero-padding
  
      Returns
      -------
      fftar : ndarray
          fft of zero-padded ar polynomial
      """
      if n is None:
          n = len(self.ar)
      return fft.fft(self.padarr(self.ar, n))
  
imports: import numpy
  import numpy.fft
  from scipy import signal
  from statsmodels.tsa.arima_process import ArmaProcess
label_desc: Use image node_id 4 for calling the ArmaFft obj's underlying member method code with example usage: obj.fftar(n) and returns: fft