docstr: Return the inner product of two vectors ``self`` and ``x2``.
  
  Parameters
  ----------
  self
      first one-dimensional input array of size N.
      Should have a numeric data type.
      a(N,) array_like
      First input vector. Input is flattened if not already 1-dimensional.
  x2
      second one-dimensional input array of size M.
      Should have a numeric data type.
      b(M,) array_like
      Second input vector. Input is flattened if not already 1-dimensional.
  out
      optional output array, for writing the result to.
      It must have a shape that the inputs broadcast to.
  
  Returns
  -------
  ret
      a two-dimensional array containing the inner product and whose
      shape is (N, M).
      The returned array must have a data type determined by Type Promotion Rules.
  
  Examples
  --------
  Matrices of identical shapes
  >>> x = ivy.array([[1., 2.], [3., 4.]])
  >>> y = ivy.array([[5., 6.], [7., 8.]])
  >>> d = x.inner(y)
  >>> print(d)
  ivy.array([[17., 23.], [39., 53.]])
  
  # Matrices of different shapes
  >>> x = ivy.array([[1., 2.], [3., 4.],[5., 6.]])
  >>> y = ivy.array([[5., 6.], [7., 8.]])
  >>> d = x.inner(y)
  >>> print(d)
  ivy.array([[17., 23.], [39., 53.], [61., 83.]])
  
  # 3D matrices
  >>> x = ivy.array([[[1., 2.], [3., 4.]],
  ...                [[5., 6.], [7., 8.]]])
  >>> y = ivy.array([[[9., 10.], [11., 12.]],
  ...                [[13., 14.], [15., 16.]]])
  >>> d = x.inner(y)
  >>> print(d)
  ivy.array([[[[ 29.,  35.], [ 41.,  47.]],
              [[ 67.,  81.], [ 95., 109.]]],
             [[[105., 127.], [149., 171.]],
              [[143., 173.], [203., 233.]]]])
docstr_tok: ["Return","the","inner","product","of","two","vectors","``","self","``","and","``","x2","``",".","Parameters","--","--","--","--","--","self","first","one-dimensional","input","array","of","size","N.","Should","have","a","numeric","data","type",".","a","(","N",",",")","array_like","First","input","vector",".","Input","is","flattened","if","not","already","1-dimensional",".","x2","second","one-dimensional","input","array","of","size","M.","Should","have","a","numeric","data","type",".","b","(","M",",",")","array_like","Second","input","vector",".","Input","is","flattened","if","not","already","1-dimensional",".","out","optional","output","array",",","for","writing","the","result","to",".","It","must","have","a","shape","that","the","inputs","broadcast","to",".","Returns","--","--","--","-","ret","a","two-dimensional","array","containing","the","inner","product","and","whose","shape","is","(","N",",","M",")",".","The","returned","array","must","have","a","data","type","determined","by","Type","Promotion","Rules",".","Examples","--","--","--","--","Matrices","of","identical","shapes",">",">",">","x","=","ivy.array","(","[","[","1.",",","2",".","]",",","[","3.",",","4",".","]","]",")",">",">",">","y","=","ivy.array","(","[","[","5.",",","6",".","]",",","[","7.",",","8",".","]","]",")",">",">",">","d","=","x.inner","(","y",")",">",">",">","print","(","d",")","ivy.array","(","[","[","17.",",","23",".","]",",","[","39.",",","53",".","]","]",")","#","Matrices","of","different","shapes",">",">",">","x","=","ivy.array","(","[","[","1.",",","2",".","]",",","[","3.",",","4",".","]",",","[","5.",",","6",".","]","]",")",">",">",">","y","=","ivy.array","(","[","[","5.",",","6",".","]",",","[","7.",",","8",".","]","]",")",">",">",">","d","=","x.inner","(","y",")",">",">",">","print","(","d",")","ivy.array","(","[","[","17.",",","23",".","]",",","[","39.",",","53",".","]",",","[","61.",",","83",".","]","]",")","#","3D","matrices",">",">",">","x","=","ivy.array","(","[","[","[","1.",",","2",".","]",",","[","3.",",","4",".","]","]",",","...","[","[","5.",",","6",".","]",",","[","7.",",","8",".","]","]","]",")",">",">",">","y","=","ivy.array","(","[","[","[","9.",",","10",".","]",",","[","11.",",","12",".","]","]",",","...","[","[","13.",",","14",".","]",",","[","15.",",","16",".","]","]","]",")",">",">",">","d","=","x.inner","(","y",")",">",">",">","print","(","d",")","ivy.array","(","[","[","[","[","29.",",","35",".","]",",","[","41.",",","47",".","]","]",",","[","[","67.",",","81",".","]",",","[","95.",",","109",".","]","]","]",",","[","[","[","105.",",","127",".","]",",","[","149.",",","171",".","]","]",",","[","[","143.",",","173",".","]",",","[","203.",",","233",".","]","]","]","]",")"]
code: def inner(
      self: ivy.Array,
      x2: Union[ivy.Array, ivy.NativeArray],
      /,
      *,
      out: Optional[ivy.Array] = None,
  ) -> ivy.Array:
      """Return the inner product of two vectors ``self`` and ``x2``.
  
      Parameters
      ----------
      self
          first one-dimensional input array of size N.
          Should have a numeric data type.
          a(N,) array_like
          First input vector. Input is flattened if not already 1-dimensional.
      x2
          second one-dimensional input array of size M.
          Should have a numeric data type.
          b(M,) array_like
          Second input vector. Input is flattened if not already 1-dimensional.
      out
          optional output array, for writing the result to.
          It must have a shape that the inputs broadcast to.
  
      Returns
      -------
      ret
          a two-dimensional array containing the inner product and whose
          shape is (N, M).
          The returned array must have a data type determined by Type Promotion Rules.
  
      Examples
      --------
      Matrices of identical shapes
      >>> x = ivy.array([[1., 2.], [3., 4.]])
      >>> y = ivy.array([[5., 6.], [7., 8.]])
      >>> d = x.inner(y)
      >>> print(d)
      ivy.array([[17., 23.], [39., 53.]])
  
      # Matrices of different shapes
      >>> x = ivy.array([[1., 2.], [3., 4.],[5., 6.]])
      >>> y = ivy.array([[5., 6.], [7., 8.]])
      >>> d = x.inner(y)
      >>> print(d)
      ivy.array([[17., 23.], [39., 53.], [61., 83.]])
  
      # 3D matrices
      >>> x = ivy.array([[[1., 2.], [3., 4.]],
      ...                [[5., 6.], [7., 8.]]])
      >>> y = ivy.array([[[9., 10.], [11., 12.]],
      ...                [[13., 14.], [15., 16.]]])
      >>> d = x.inner(y)
      >>> print(d)
      ivy.array([[[[ 29.,  35.], [ 41.,  47.]],
                  [[ 67.,  81.], [ 95., 109.]]],
                 [[[105., 127.], [149., 171.]],
                  [[143., 173.], [203., 233.]]]])
      """
      return ivy.inner(self._data, x2, out=out)
  
imports: import abc
  from typing import Union, Optional, Literal, Tuple, List, Sequence
  import ivy
label_desc: Use image node_id 10 for calling the _ArrayWithLinearAlgebra obj's underlying member method code with example usage: obj.inner() and returns: ivy