docstr: ivy.Container instance method variant of ivy.einops_reduce. This
  method simply wraps the function, and so the docstring for
  ivy.einops_reduce also applies to this method with minimal changes.
  
  Parameters
  ----------
  self
      Input container to be reduced.
  pattern
      Reduction pattern.
  reduction
      One of available reductions ('min', 'max', 'sum', 'mean', 'prod'), or
      callable.
  key_chains
      The key-chains to apply or not apply the method to. Default is ``None``.
  to_apply
      If True, the method will be applied to key_chains, otherwise key_chains will
      be skipped. Default is ``True``.
  prune_unapplied
      Whether to prune key_chains for which the function was not applied. Default
      is False.
  map_sequences
      Whether to also map method to sequences (lists, tuples).
      Default is ``False``.
  out
      optional output container, for writing the result to. It must have a
      shape that the inputs broadcast to.
  axes_lengths
      Any additional specifications for dimensions.
  
  Returns
  -------
  ret
      New container with einops.reduce having been applied.
  
  Examples
  --------
  >>> x = ivy.Container(a=ivy.array([[[5, 4, 3],
  ...                                 [11, 2, 9]],
  ...                                [[3, 5, 7],
  ...                                 [9, 7, 1]]]),
  ...                    b=ivy.array([[[9,7,6],
  ...                                  [5,2,1]],
  ...                                 [[4,1,2],
  ...                                  [2,3,6]],
  ...                                 [[1, 9, 6],
  ...                                  [0, 2, 1]]]))
  >>> reduced = x.einops_reduce('a b c -> a b', 'sum')
  >>> print(reduced)
  {
      a: ivy.array([[12, 22],
                  [15, 17]]),
      b: ivy.array([[22, 8],
                  [7, 11],
                  [16, 3]])
  }
docstr_tok: ["ivy.Container","instance","method","variant","of","ivy.einops_reduce",".","This","method","simply","wraps","the","function",",","and","so","the","docstring","for","ivy.einops_reduce","also","applies","to","this","method","with","minimal","changes",".","Parameters","--","--","--","--","--","self","Input","container","to","be","reduced",".","pattern","Reduction","pattern",".","reduction","One","of","available","reductions","(","'min","'",",","'max","'",",","'sum","'",",","'mean","'",",","'prod","'",")",",","or","callable",".","key_chains","The","key-chains","to","apply","or","not","apply","the","method","to",".","Default","is","``","None","``",".","to_apply","If","True",",","the","method","will","be","applied","to","key_chains",",","otherwise","key_chains","will","be","skipped",".","Default","is","``","True","``",".","prune_unapplied","Whether","to","prune","key_chains","for","which","the","function","was","not","applied",".","Default","is","False",".","map_sequences","Whether","to","also","map","method","to","sequences","(","lists",",","tuples",")",".","Default","is","``","False","``",".","out","optional","output","container",",","for","writing","the","result","to",".","It","must","have","a","shape","that","the","inputs","broadcast","to",".","axes_lengths","Any","additional","specifications","for","dimensions",".","Returns","--","--","--","-","ret","New","container","with","einops.reduce","having","been","applied",".","Examples","--","--","--","--",">",">",">","x","=","ivy.Container","(","a=ivy.array","(","[","[","[","5",",","4",",","3","]",",","...","[","11",",","2",",","9","]","]",",","...","[","[","3",",","5",",","7","]",",","...","[","9",",","7",",","1","]","]","]",")",",","...","b=ivy.array","(","[","[","[","9,7,6","]",",","...","[","5,2,1","]","]",",","...","[","[","4,1,2","]",",","...","[","2,3,6","]","]",",","...","[","[","1",",","9",",","6","]",",","...","[","0",",","2",",","1","]","]","]",")",")",">",">",">","reduced","=","x.einops_reduce","(","'","a","b","c","-",">","a","b","'",",","'sum","'",")",">",">",">","print","(","reduced",")","{","a",":","ivy.array","(","[","[","12",",","22","]",",","[","15",",","17","]","]",")",",","b",":","ivy.array","(","[","[","22",",","8","]",",","[","7",",","11","]",",","[","16",",","3","]","]",")","}"]
code: def einops_reduce(
      self: ivy.Container,
      pattern: Union[str, ivy.Container],
      reduction: Union[str, Callable, ivy.Container],
      /,
      *,
      key_chains: Optional[
          Union[List[str], Dict[str, str], ivy.Container]
      ] = None,
      to_apply: Union[bool, ivy.Container] = True,
      prune_unapplied: Union[bool, ivy.Container] = False,
      map_sequences: Union[bool, ivy.Container] = False,
      out: Optional[ivy.Container] = None,
      **axes_lengths: Union[Dict[str, int], ivy.Container],
  ) -> ivy.Container:
      """ivy.Container instance method variant of ivy.einops_reduce. This
      method simply wraps the function, and so the docstring for
      ivy.einops_reduce also applies to this method with minimal changes.
  
      Parameters
      ----------
      self
          Input container to be reduced.
      pattern
          Reduction pattern.
      reduction
          One of available reductions ('min', 'max', 'sum', 'mean', 'prod'), or
          callable.
      key_chains
          The key-chains to apply or not apply the method to. Default is ``None``.
      to_apply
          If True, the method will be applied to key_chains, otherwise key_chains will
          be skipped. Default is ``True``.
      prune_unapplied
          Whether to prune key_chains for which the function was not applied. Default
          is False.
      map_sequences
          Whether to also map method to sequences (lists, tuples).
          Default is ``False``.
      out
          optional output container, for writing the result to. It must have a
          shape that the inputs broadcast to.
      axes_lengths
          Any additional specifications for dimensions.
  
      Returns
      -------
      ret
          New container with einops.reduce having been applied.
  
      Examples
      --------
      >>> x = ivy.Container(a=ivy.array([[[5, 4, 3],
      ...                                 [11, 2, 9]],
      ...                                [[3, 5, 7],
      ...                                 [9, 7, 1]]]),
      ...                    b=ivy.array([[[9,7,6],
      ...                                  [5,2,1]],
      ...                                 [[4,1,2],
      ...                                  [2,3,6]],
      ...                                 [[1, 9, 6],
      ...                                  [0, 2, 1]]]))
      >>> reduced = x.einops_reduce('a b c -> a b', 'sum')
      >>> print(reduced)
      {
          a: ivy.array([[12, 22],
                      [15, 17]]),
          b: ivy.array([[22, 8],
                      [7, 11],
                      [16, 3]])
      }
      """
      return self._static_einops_reduce(
          self,
          pattern,
          reduction,
          key_chains=key_chains,
          to_apply=to_apply,
          prune_unapplied=prune_unapplied,
          map_sequences=map_sequences,
          out=out,
          **axes_lengths,
      )
  
imports: from numbers import Number
  from typing import Any, Union, List, Dict, Iterable, Optional, Callable
  from ivy.data_classes.container.base import ContainerBase
  import ivy
label_desc: Use image node_id 32 for calling the _ContainerWithGeneral obj's underlying member method code with example usage: obj.einops_reduce() and returns: self