docstr: ivy.Container instance method variant of ivy.eigvalsh. This method
  simply wraps the function, and so the docstring for ivy.eigvalsh also
  applies to this method with minimal changes.
  
  Parameters
  ----------
  self
      Ivy container having shape ``(..., M, M)`` and whose
      innermost two dimensions form square matrices.
      Should have a floating-point data type.
  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.
      It must have a shape that the inputs broadcast to.
  
  Returns
  -------
  ret
      a container containing the computed eigenvalues.
      The returned array must have shape
      (..., M) and have the same data type as x.
  
  Examples
  --------
  With :class:`ivy.Container` inputs:
  
  >>> x = ivy.Container(a=ivy.array([[[1.,2.],[2.,1.]]]),
  ...                   b=ivy.array([[[2.,4.],[4.,2.]]]))
  >>> y = ivy.eigvalsh(x)
  >>> print(y)
  {
      a: ivy.array([[-1., 3.]]),
      b: ivy.array([[-2., 6.]])
  }
code: def eigvalsh(
      self: ivy.Container,
      /,
      *,
      UPLO: Union[str, ivy.Container] = "L",
      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 instance method variant of ivy.eigvalsh. This method
      simply wraps the function, and so the docstring for ivy.eigvalsh also
      applies to this method with minimal changes.
  
      Parameters
      ----------
      self
          Ivy container having shape ``(..., M, M)`` and whose
          innermost two dimensions form square matrices.
          Should have a floating-point data type.
      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.
          It must have a shape that the inputs broadcast to.
  
      Returns
      -------
      ret
          a container containing the computed eigenvalues.
          The returned array must have shape
          (..., M) and have the same data type as x.
  
      Examples
      --------
      With :class:`ivy.Container` inputs:
  
      >>> x = ivy.Container(a=ivy.array([[[1.,2.],[2.,1.]]]),
      ...                   b=ivy.array([[[2.,4.],[4.,2.]]]))
      >>> y = ivy.eigvalsh(x)
      >>> print(y)
      {
          a: ivy.array([[-1., 3.]]),
          b: ivy.array([[-2., 6.]])
      }
      """
      return self._static_eigvalsh(
          self,
          UPLO=UPLO,
          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 16 for calling the _ContainerWithLinearAlgebra obj's underlying member method code with example usage: obj.eigvalsh() and returns: self