code: def outer(
      x1: torch.Tensor,
      x2: torch.Tensor,
      /,
      *,
      out: Optional[torch.Tensor] = None,
  ) -> torch.Tensor:
      x1, x2 = ivy.promote_types_of_inputs(x1, x2)
      return torch.outer(x1, x2, out=out)
  
imports: import torch
  from typing import Union, Optional, Tuple, Literal, List, NamedTuple, Sequence
  from collections import namedtuple
  import ivy
  from ivy import inf
  from ivy.func_wrapper import with_unsupported_dtypes, with_supported_dtypes
  from .None import backend_version
  from .elementwise import _cast_for_unary_op
label_desc: Use image node_id 15 for calling a global function with example usage: outer() and returns: torch