docstr: ivy.Container static method variant of ivy.outer. This method simply
  wraps the function, and so the docstring for ivy.outer also applies to
  this method with minimal changes.
  
  Computes the outer product of two arrays, x1 and x2,
  by computing the tensor product along the last dimension of both arrays.
  
  Parameters
  ----------
  x1
      first input array having shape (..., N1)
  x2
      second input array having shape (..., N2)
  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.
      The container must have shape (..., N1, N2). The first x1.ndim-1
      dimensions must have the same size as those of the input array x1
      and the first x2.ndim-1 dimensions must have the same
      size as those of the input array x2.
  
  Returns
  -------
  ret
      an ivy container whose shape is (..., N1, N2).
      The first x1.ndim-1 dimensions have the same size as those
      of the input array x1 and the first x2.ndim-1
      dimensions have the same size as those of the input array x2.
  
  Example
  -------
  >>> x1 =ivy.Container( a=ivy.array([[1, 2, 3], [4, 5, 6]]))
  >>> x2 = ivy.Container(a=ivy.array([1, 2, 3]))
  >>> y = ivy.Container.static_outer(x1, x2)
  >>> print(y)
  ivy.array([[[ 1.,  2.,  3.],
              [ 2.,  4.,  6.],
              [ 3.,  6.,  9.]],
             [[ 4.,  8., 12.],
              [ 5., 10., 15.],
              [ 6., 12., 18.]]])
code: def _static_outer(
      x1: Union[ivy.Array, ivy.NativeArray, ivy.Container],
      x2: Union[ivy.Array, ivy.NativeArray, 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,
  ) -> ivy.Container:
      """ivy.Container static method variant of ivy.outer. This method simply
      wraps the function, and so the docstring for ivy.outer also applies to
      this method with minimal changes.
  
      Computes the outer product of two arrays, x1 and x2,
      by computing the tensor product along the last dimension of both arrays.
  
      Parameters
      ----------
      x1
          first input array having shape (..., N1)
      x2
          second input array having shape (..., N2)
      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.
          The container must have shape (..., N1, N2). The first x1.ndim-1
          dimensions must have the same size as those of the input array x1
          and the first x2.ndim-1 dimensions must have the same
          size as those of the input array x2.
  
      Returns
      -------
      ret
          an ivy container whose shape is (..., N1, N2).
          The first x1.ndim-1 dimensions have the same size as those
          of the input array x1 and the first x2.ndim-1
          dimensions have the same size as those of the input array x2.
  
      Example
      -------
      >>> x1 =ivy.Container( a=ivy.array([[1, 2, 3], [4, 5, 6]]))
      >>> x2 = ivy.Container(a=ivy.array([1, 2, 3]))
      >>> y = ivy.Container.static_outer(x1, x2)
      >>> print(y)
      ivy.array([[[ 1.,  2.,  3.],
                  [ 2.,  4.,  6.],
                  [ 3.,  6.,  9.]],
                 [[ 4.,  8., 12.],
                  [ 5., 10., 15.],
                  [ 6., 12., 18.]]])
      """
      return ContainerBase.cont_multi_map_in_function(
          "outer",
          x1,
          x2,
          key_chains=key_chains,
          to_apply=to_apply,
          prune_unapplied=prune_unapplied,
          map_sequences=map_sequences,
          out=out,
      )
  
imports: from typing import Union, Optional, Tuple, Literal, List, Dict, Sequence
  from ivy.data_classes.container.base import ContainerBase
  import ivy
label_desc: Use image node_id 31 for calling the _ContainerWithLinearAlgebra obj's underlying member method code with example usage: obj._static_outer() and returns: ContainerBase