code: def eigh(
      x: torch.Tensor,
      /,
      *,
      UPLO: str = "L",
      out: Optional[torch.Tensor] = None,
  ) -> Tuple[torch.Tensor]:
      result_tuple = NamedTuple(
          "eigh",
          [
              ("eigenvalues", torch.Tensor),
              ("eigenvectors", torch.Tensor),
          ],
      )
      eigenvalues, eigenvectors = torch.linalg.eigh(
          x, UPLO=UPLO, out=out
      )
      return result_tuple(eigenvalues, eigenvectors)
  
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 5 for calling a global function with example usage: eigh() and returns: result_tuple