docstr: ivy.Array instance method variant of ivy.einops_rearrange. This
  method simply wraps the function, and so the docstring for
  ivy.einops_rearrange also applies to this method with minimal changes.
  
  Parameters
  ----------
  self
      Input array to be re-arranged.
  pattern
      Rearrangement pattern.
  axes_lengths
      Any additional specifications for dimensions.
  out
      optional output array, for writing the result to. It must have a shape
      that the inputs broadcast to.
  
  Returns
  -------
  ret
      New array with einops.rearrange having been applied.
  
  Examples
  --------
  With :class:`ivy.Array` instance method:
  
  >>> x = ivy.array([[1, 2, 3],
  ...               [-4, -5, -6]])
  >>> y = x.einops_rearrange("height width -> width height")
  >>> print(y)
  ivy.array([[ 1, -4],
      [ 2, -5],
      [ 3, -6]])
  
  >>> x = ivy.array([[[ 1,  2,  3],
  ...                  [ 4,  5,  6]],
  ...               [[ 7,  8,  9],
  ...                  [10, 11, 12]]])
  >>> y = x.einops_rearrange("c h w -> c (h w)")
  >>> print(y)
  ivy.array([[ 1,  2,  3,  4,  5,  6],
      [ 7,  8,  9, 10, 11, 12]])
  
  >>> x = ivy.array([[1, 2, 3, 4, 5, 6]
  ...               [7, 8, 9, 10, 11, 12]])
  >>> y = x.einops_rearrange("c (h w) -> (c h) w", h=2, w=3)
  ivy.array([[ 1,  2,  3],
      [ 4,  5,  6],
      [ 7,  8,  9],
      [10, 11, 12]])
docstr_tok: ["ivy.Array","instance","method","variant","of","ivy.einops_rearrange",".","This","method","simply","wraps","the","function",",","and","so","the","docstring","for","ivy.einops_rearrange","also","applies","to","this","method","with","minimal","changes",".","Parameters","--","--","--","--","--","self","Input","array","to","be","re-arranged",".","pattern","Rearrangement","pattern",".","axes_lengths","Any","additional","specifications","for","dimensions",".","out","optional","output","array",",","for","writing","the","result","to",".","It","must","have","a","shape","that","the","inputs","broadcast","to",".","Returns","--","--","--","-","ret","New","array","with","einops.rearrange","having","been","applied",".","Examples","--","--","--","--","With",":","class",":","`","ivy.Array","`","instance","method",":",">",">",">","x","=","ivy.array","(","[","[","1",",","2",",","3","]",",","...","[","-4",",","-5",",","-6","]","]",")",">",">",">","y","=","x.einops_rearrange","(","``","height","width","-",">","width","height","''",")",">",">",">","print","(","y",")","ivy.array","(","[","[","1",",","-4","]",",","[","2",",","-5","]",",","[","3",",","-6","]","]",")",">",">",">","x","=","ivy.array","(","[","[","[","1",",","2",",","3","]",",","...","[","4",",","5",",","6","]","]",",","...","[","[","7",",","8",",","9","]",",","...","[","10",",","11",",","12","]","]","]",")",">",">",">","y","=","x.einops_rearrange","(","``","c","h","w","-",">","c","(","h","w",")","''",")",">",">",">","print","(","y",")","ivy.array","(","[","[","1",",","2",",","3",",","4",",","5",",","6","]",",","[","7",",","8",",","9",",","10",",","11",",","12","]","]",")",">",">",">","x","=","ivy.array","(","[","[","1",",","2",",","3",",","4",",","5",",","6","]","...","[","7",",","8",",","9",",","10",",","11",",","12","]","]",")",">",">",">","y","=","x.einops_rearrange","(","``","c","(","h","w",")","-",">","(","c","h",")","w","''",",","h=2",",","w=3",")","ivy.array","(","[","[","1",",","2",",","3","]",",","[","4",",","5",",","6","]",",","[","7",",","8",",","9","]",",","[","10",",","11",",","12","]","]",")"]
code: def einops_rearrange(
      self: ivy.Array,
      pattern: str,
      /,
      *,
      out: Optional[ivy.Array] = None,
      **axes_lengths: Dict[str, int],
  ) -> ivy.Array:
      """ivy.Array instance method variant of ivy.einops_rearrange. This
      method simply wraps the function, and so the docstring for
      ivy.einops_rearrange also applies to this method with minimal changes.
  
      Parameters
      ----------
      self
          Input array to be re-arranged.
      pattern
          Rearrangement pattern.
      axes_lengths
          Any additional specifications for dimensions.
      out
          optional output array, for writing the result to. It must have a shape
          that the inputs broadcast to.
  
      Returns
      -------
      ret
          New array with einops.rearrange having been applied.
  
      Examples
      --------
      With :class:`ivy.Array` instance method:
  
      >>> x = ivy.array([[1, 2, 3],
      ...               [-4, -5, -6]])
      >>> y = x.einops_rearrange("height width -> width height")
      >>> print(y)
      ivy.array([[ 1, -4],
          [ 2, -5],
          [ 3, -6]])
  
      >>> x = ivy.array([[[ 1,  2,  3],
      ...                  [ 4,  5,  6]],
      ...               [[ 7,  8,  9],
      ...                  [10, 11, 12]]])
      >>> y = x.einops_rearrange("c h w -> c (h w)")
      >>> print(y)
      ivy.array([[ 1,  2,  3,  4,  5,  6],
          [ 7,  8,  9, 10, 11, 12]])
  
      >>> x = ivy.array([[1, 2, 3, 4, 5, 6]
      ...               [7, 8, 9, 10, 11, 12]])
      >>> y = x.einops_rearrange("c (h w) -> (c h) w", h=2, w=3)
      ivy.array([[ 1,  2,  3],
          [ 4,  5,  6],
          [ 7,  8,  9],
          [10, 11, 12]])
      """
      return ivy.einops_rearrange(
          self._data, pattern, out=out, **axes_lengths
      )
  
imports: import abc
  import numpy
  from numbers import Number
  from typing import Any, Iterable, Union, Optional, Dict, Callable, List, Tuple
  import ivy
label_desc: Use image node_id 10 for calling the _ArrayWithGeneral obj's underlying member method code with example usage: obj.einops_rearrange() and returns: ivy