docstr: ivy.Container instance method variant of ivy.idct. This method
  simply wraps the function, and so the docstring for ivy.idct also
  applies to this method with minimal changes.
  
  Parameters
  ----------
  self
      Container with the input signals.
  type
      The type of the idct. Must be 1, 2, 3 or 4.
  n
      The length of the transform. If n is less than the input signal length,
      then x is truncated, if n is larger then x is zero-padded.
  norm
      The type of normalization to be applied. Must be either None or "ortho".
  out
      optional output container, for writing the result to.
  
  Returns
  -------
  ret
      The transformed input.
  
  Examples
  --------
  >>> x = ivy.Container(a=ivy.array([8, 16, 24, 32, 40, 48, 56, 64]),
  ...                   b=ivy.array([1,  2,  3,  4,  5,  6,  7,  8]))
  >>> x.idct(type=2, norm='ortho')
  {
      a: ivy.array([79.49862671, -70.37691498, 30.00390816, -23.58938599,
            13.92713165, -10.078475, 5.19664812, -1.95411837]),
      b: ivy.array([9.94, -8.79711437, 3.76, -2.94867325, 1.74089146,
            -1.25980937, 0.64958102, -0.2442648])
  }
docstr_tok: ["ivy.Container","instance","method","variant","of","ivy.idct",".","This","method","simply","wraps","the","function",",","and","so","the","docstring","for","ivy.idct","also","applies","to","this","method","with","minimal","changes",".","Parameters","--","--","--","--","--","self","Container","with","the","input","signals",".","type","The","type","of","the","idct",".","Must","be","1",",","2",",","3","or","4.","n","The","length","of","the","transform",".","If","n","is","less","than","the","input","signal","length",",","then","x","is","truncated",",","if","n","is","larger","then","x","is","zero-padded",".","norm","The","type","of","normalization","to","be","applied",".","Must","be","either","None","or","``","ortho","''",".","out","optional","output","container",",","for","writing","the","result","to",".","Returns","--","--","--","-","ret","The","transformed","input",".","Examples","--","--","--","--",">",">",">","x","=","ivy.Container","(","a=ivy.array","(","[","8",",","16",",","24",",","32",",","40",",","48",",","56",",","64","]",")",",","...","b=ivy.array","(","[","1",",","2",",","3",",","4",",","5",",","6",",","7",",","8","]",")",")",">",">",">","x.idct","(","type=2",",","norm='ortho","'",")","{","a",":","ivy.array","(","[","79.49862671",",","-70.37691498",",","30.00390816",",","-23.58938599",",","13.92713165",",","-10.078475",",","5.19664812",",","-1.95411837","]",")",",","b",":","ivy.array","(","[","9.94",",","-8.79711437",",","3.76",",","-2.94867325",",","1.74089146",",","-1.25980937",",","0.64958102",",","-0.2442648","]",")","}"]
code: def idct(
      self: ivy.Container,
      /,
      *,
      type: Union[Literal[1, 2, 3, 4], ivy.Container] = 2,
      n: Optional[Union[int, ivy.Container]] = None,
      axis: Union[int, ivy.Container] = -1,
      norm: Optional[Union[Literal["ortho"], ivy.Container]] = None,
      out: Optional[ivy.Container] = None,
  ) -> ivy.Container:
      """ivy.Container instance method variant of ivy.idct. This method
      simply wraps the function, and so the docstring for ivy.idct also
      applies to this method with minimal changes.
  
      Parameters
      ----------
      self
          Container with the input signals.
      type
          The type of the idct. Must be 1, 2, 3 or 4.
      n
          The length of the transform. If n is less than the input signal length,
          then x is truncated, if n is larger then x is zero-padded.
      norm
          The type of normalization to be applied. Must be either None or "ortho".
      out
          optional output container, for writing the result to.
  
      Returns
      -------
      ret
          The transformed input.
  
      Examples
      --------
      >>> x = ivy.Container(a=ivy.array([8, 16, 24, 32, 40, 48, 56, 64]),
      ...                   b=ivy.array([1,  2,  3,  4,  5,  6,  7,  8]))
      >>> x.idct(type=2, norm='ortho')
      {
          a: ivy.array([79.49862671, -70.37691498, 30.00390816, -23.58938599,
                13.92713165, -10.078475, 5.19664812, -1.95411837]),
          b: ivy.array([9.94, -8.79711437, 3.76, -2.94867325, 1.74089146,
                -1.25980937, 0.64958102, -0.2442648])
      }
      """
      return self.static_idct(
          self,
          type=type,
          n=n,
          axis=axis,
          norm=norm,
          out=out,
      )
  
imports: from typing import Optional, Union, List, Dict, Tuple, Literal, Sequence, Callable
  import ivy
  from ivy.data_classes.container.base import ContainerBase
label_desc: Use image node_id 16 for calling the _ContainerWithLayersExperimental obj's underlying member method code with example usage: obj.idct() and returns: self