docstr: Compute the discrete Fourier transform of input.
  
  Parameters
  ----------
  self
      Input volume *[...,d_in,...]*,
      where d_in indicates the dimension that needs FFT.
  axis
      The axis on which to perform the DFT. By default this
      value is  set to 1, which corresponds to the first dimension
      after the batch index.
  inverse
      Whether to perform the inverse discrete fourier transform.
      By default this value is set to False.
  onesided
      If onesided is True, only values for w in [0, 1, 2, …, floor(n_fft/2) + 1]
      are returned because the real-to-complex Fourier transform satisfies the
      conjugate symmetry, i.e., X[m, w] = X[m,w]=X[m,n_fft-w]*. Note if the
      input or window tensors are complex, then onesided output is not possible.
      Enabling onesided with real inputs performs a Real-valued fast Fourier
      transform (RFFT). When invoked with real or complex valued input, the
      default value is False. Values can be True or False.
  dft_length
      The length of the signal.If greater than the axis dimension,
      the signal will be zero-padded up to dft_length. If less than
      the axis dimension, only the first dft_length values will be
      used as the signal. It’s an optional value.
  norm
      Optional argument, "backward", "ortho" or "forward". Defaults to be
      "backward".
      "backward" indicates no normalization.
      "ortho" indicates normalization by 1/sqrt(n).
      "forward" indicates normalization by 1/n.
  out
      Optional output array, for writing the result to. It must
      have a shape that the inputs broadcast to.
  
  Returns
  -------
  ret
      The Fourier Transform of the input vector.If onesided is False,
      the following shape is expected: [batch_idx][signal_dim1][signal_dim2]
      …[signal_dimN][2]. If axis=0 and onesided is True, the following shape
      is expected: [batch_idx][floor(signal_dim1/2)+1][signal_dim2]
      …[signal_dimN][2]. If axis=1 and onesided is True, the following
      shape is expected: [batch_idx][signal_dim1] [floor(signal_dim2/2)+1]
      …[signal_dimN][2]. If axis=N-1 and onesided is True, the following
      shape is expected: [batch_idx][signal_dim1][signal_dim2]…
      [floor(signal_dimN/2)+1][2]. The signal_dim at the specified axis
      is equal to the dft_length.
docstr_tok: ["Compute","the","discrete","Fourier","transform","of","input",".","Parameters","--","--","--","--","--","self","Input","volume","*","[","...",",","d_in",",","...","]","*",",","where","d_in","indicates","the","dimension","that","needs","FFT",".","axis","The","axis","on","which","to","perform","the","DFT",".","By","default","this","value","is","set","to","1",",","which","corresponds","to","the","first","dimension","after","the","batch","index",".","inverse","Whether","to","perform","the","inverse","discrete","fourier","transform",".","By","default","this","value","is","set","to","False",".","onesided","If","onesided","is","True",",","only","values","for","w","in","[","0",",","1",",","2",",","\u2026",",","floor","(","n_fft\/2",")","+","1","]","are","returned","because","the","real-to-complex","Fourier","transform","satisfies","the","conjugate","symmetry",",","i.e.",",","X","[","m",",","w","]","=","X","[","m",",","w","]","=X","[","m",",","n_fft-w","]","*",".","Note","if","the","input","or","window","tensors","are","complex",",","then","onesided","output","is","not","possible",".","Enabling","onesided","with","real","inputs","performs","a","Real-valued","fast","Fourier","transform","(","RFFT",")",".","When","invoked","with","real","or","complex","valued","input",",","the","default","value","is","False",".","Values","can","be","True","or","False",".","dft_length","The","length","of","the","signal.If","greater","than","the","axis","dimension",",","the","signal","will","be","zero-padded","up","to","dft_length",".","If","less","than","the","axis","dimension",",","only","the","first","dft_length","values","will","be","used","as","the","signal",".","It","\u2019","s","an","optional","value",".","norm","Optional","argument",",","``","backward","''",",","``","ortho","''","or","``","forward","''",".","Defaults","to","be","``","backward","''",".","``","backward","''","indicates","no","normalization",".","``","ortho","''","indicates","normalization","by","1\/sqrt","(","n",")",".","``","forward","''","indicates","normalization","by","1\/n",".","out","Optional","output","array",",","for","writing","the","result","to",".","It","must","have","a","shape","that","the","inputs","broadcast","to",".","Returns","--","--","--","-","ret","The","Fourier","Transform","of","the","input","vector.If","onesided","is","False",",","the","following","shape","is","expected",":","[","batch_idx","]","[","signal_dim1","]","[","signal_dim2","]","\u2026","[","signal_dimN","]","[","2","]",".","If","axis=0","and","onesided","is","True",",","the","following","shape","is","expected",":","[","batch_idx","]","[","floor","(","signal_dim1\/2",")","+1","]","[","signal_dim2","]","\u2026","[","signal_dimN","]","[","2","]",".","If","axis=1","and","onesided","is","True",",","the","following","shape","is","expected",":","[","batch_idx","]","[","signal_dim1","]","[","floor","(","signal_dim2\/2",")","+1","]","\u2026","[","signal_dimN","]","[","2","]",".","If","axis=N-1","and","onesided","is","True",",","the","following","shape","is","expected",":","[","batch_idx","]","[","signal_dim1","]","[","signal_dim2","]","\u2026","[","floor","(","signal_dimN\/2",")","+1","]","[","2","]",".","The","signal_dim","at","the","specified","axis","is","equal","to","the","dft_length","."]
code: def dft(
      self,
      /,
      *,
      axis: int = 1,
      inverse: bool = False,
      onesided: bool = False,
      dft_length: Optional[Union[int, Tuple[int]]] = None,
      norm: str = "backward",
      out: Optional[ivy.Array] = None,
  ) -> ivy.Array:
      """Compute the discrete Fourier transform of input.
  
      Parameters
      ----------
      self
          Input volume *[...,d_in,...]*,
          where d_in indicates the dimension that needs FFT.
      axis
          The axis on which to perform the DFT. By default this
          value is  set to 1, which corresponds to the first dimension
          after the batch index.
      inverse
          Whether to perform the inverse discrete fourier transform.
          By default this value is set to False.
      onesided
          If onesided is True, only values for w in [0, 1, 2, …, floor(n_fft/2) + 1]
          are returned because the real-to-complex Fourier transform satisfies the
          conjugate symmetry, i.e., X[m, w] = X[m,w]=X[m,n_fft-w]*. Note if the
          input or window tensors are complex, then onesided output is not possible.
          Enabling onesided with real inputs performs a Real-valued fast Fourier
          transform (RFFT). When invoked with real or complex valued input, the
          default value is False. Values can be True or False.
      dft_length
          The length of the signal.If greater than the axis dimension,
          the signal will be zero-padded up to dft_length. If less than
          the axis dimension, only the first dft_length values will be
          used as the signal. It’s an optional value.
      norm
          Optional argument, "backward", "ortho" or "forward". Defaults to be
          "backward".
          "backward" indicates no normalization.
          "ortho" indicates normalization by 1/sqrt(n).
          "forward" indicates normalization by 1/n.
      out
          Optional output array, for writing the result to. It must
          have a shape that the inputs broadcast to.
  
      Returns
      -------
      ret
          The Fourier Transform of the input vector.If onesided is False,
          the following shape is expected: [batch_idx][signal_dim1][signal_dim2]
          …[signal_dimN][2]. If axis=0 and onesided is True, the following shape
          is expected: [batch_idx][floor(signal_dim1/2)+1][signal_dim2]
          …[signal_dimN][2]. If axis=1 and onesided is True, the following
          shape is expected: [batch_idx][signal_dim1] [floor(signal_dim2/2)+1]
          …[signal_dimN][2]. If axis=N-1 and onesided is True, the following
          shape is expected: [batch_idx][signal_dim1][signal_dim2]…
          [floor(signal_dimN/2)+1][2]. The signal_dim at the specified axis
          is equal to the dft_length.
      """
      return ivy.dft(
          self._data,
          axis=axis,
          inverse=inverse,
          onesided=onesided,
          dft_length=dft_length,
          norm=norm,
          out=out,
      )
  
imports: import abc
  from typing import Optional, Union, Tuple, List, Literal, Sequence, Callable
  import ivy
label_desc: Use image node_id 12 for calling the _ArrayWithLayersExperimental obj's underlying member method code with example usage: obj.dft() and returns: ivy