code: def eigh(x: Array, /) -> EighResult:
      """
      Array API compatible wrapper for :py:func:`np.linalg.eigh <numpy.linalg.eigh>`.
  
      See its docstring for more information.
      """
      # Note: the restriction to floating-point dtypes only is different from
      # np.linalg.eigh.
      if x.dtype not in _floating_dtypes:
          raise TypeError(
              "Only floating-point dtypes are allowed in eigh"
          )
  
      # Note: the return type here is a namedtuple, which is different from
      # np.eigh, which only returns a tuple.
      return EighResult(*map(Array._new, np.linalg.eigh(x._array)))
  
imports: from __future__ import annotations
  import functools
  from ._dtypes import _floating_dtypes, _numeric_dtypes
  from ._manipulation_functions import reshape
  from ._array_object import Array
  from .._core.internal import _normalize_axis_indices
  from typing import TYPE_CHECKING
  from typing import NamedTuple
  import cupy
label_desc: Use image node_id 5 for calling a global function with example usage: eigh() and returns: EighResult