docstr: ivy.Container instance method variant of ivy.svd. This method simply
  wraps the function, and so the docstring for ivy.svd also applies to
  this method with minimal changes.
  
  Parameters
  ----------
  self
      input container with array leaves having shape ``(..., M, N)`` and whose
      innermost two dimensions form matrices on which to perform singular value
      decomposition. Should have a floating-point data type.
  full_matrices
      If ``True``, compute full-sized ``U`` and ``Vh``, such that ``U`` has
      shape ``(..., M, M)`` and ``Vh`` has shape ``(..., N, N)``. If ``False``,
      compute on             the leading ``K`` singular vectors, such that ``U``
      has shape ``(..., M, K)`` and ``Vh`` has shape ``(..., K, N)`` and where
      ``K = min(M, N)``. Default: ``True``.
  compute_uv
      If ``True`` then left and right singular vectors will be computed and
      returned in ``U`` and ``Vh``, respectively. Otherwise, only the singular
      values will be computed, which can be significantly faster.
  .. note::
      with backend set as torch, svd with still compute left and right singular
      vectors irrespective of the value of compute_uv, however Ivy will
      still only return the
      singular values.
  
  Returns
  -------
  .. note::
      once complex numbers are supported, each square matrix must be Hermitian.
  
  ret
      A container of a namedtuples ``(U, S, Vh)``. More details in ivy.svd.
  
  Examples
  --------
  With :class:`ivy.Container` input:
  
  >>> x = ivy.random_normal(shape = (9, 6))
  >>> y = ivy.random_normal(shape = (2, 4))
  >>> z = ivy.Container(a=x, b=y)
  >>> ret = z.svd()
  >>> print(ret[0], ret[1], ret[2])
  {
      a: (<class ivy.data_classes.array.array.Array> shape=[9, 9]),
      b: ivy.array([[-0.3475602, -0.93765765],
                    [-0.93765765, 0.3475602]])
  } {
      a: ivy.array([3.58776021, 3.10416126, 2.80644298, 1.87024701, 1.48127627,
                    0.79101127]),
      b: ivy.array([1.98288572, 0.68917423])
  } {
      a: (<class ivy.data_classes.array.array.Array> shape=[6, 6]),
      b: (<class ivy.data_classes.array.array.Array> shape=[4, 4])
  }
code: def svd(
      self: ivy.Container,
      /,
      *,
      compute_uv: Union[bool, ivy.Container] = True,
      full_matrices: Union[bool, ivy.Container] = True,
      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.svd. This method simply
      wraps the function, and so the docstring for ivy.svd also applies to
      this method with minimal changes.
  
      Parameters
      ----------
      self
          input container with array leaves having shape ``(..., M, N)`` and whose
          innermost two dimensions form matrices on which to perform singular value
          decomposition. Should have a floating-point data type.
      full_matrices
          If ``True``, compute full-sized ``U`` and ``Vh``, such that ``U`` has
          shape ``(..., M, M)`` and ``Vh`` has shape ``(..., N, N)``. If ``False``,
          compute on             the leading ``K`` singular vectors, such that ``U``
          has shape ``(..., M, K)`` and ``Vh`` has shape ``(..., K, N)`` and where
          ``K = min(M, N)``. Default: ``True``.
      compute_uv
          If ``True`` then left and right singular vectors will be computed and
          returned in ``U`` and ``Vh``, respectively. Otherwise, only the singular
          values will be computed, which can be significantly faster.
      .. note::
          with backend set as torch, svd with still compute left and right singular
          vectors irrespective of the value of compute_uv, however Ivy will
          still only return the
          singular values.
  
      Returns
      -------
      .. note::
          once complex numbers are supported, each square matrix must be Hermitian.
  
      ret
          A container of a namedtuples ``(U, S, Vh)``. More details in ivy.svd.
  
      Examples
      --------
      With :class:`ivy.Container` input:
  
      >>> x = ivy.random_normal(shape = (9, 6))
      >>> y = ivy.random_normal(shape = (2, 4))
      >>> z = ivy.Container(a=x, b=y)
      >>> ret = z.svd()
      >>> print(ret[0], ret[1], ret[2])
      {
          a: (<class ivy.data_classes.array.array.Array> shape=[9, 9]),
          b: ivy.array([[-0.3475602, -0.93765765],
                        [-0.93765765, 0.3475602]])
      } {
          a: ivy.array([3.58776021, 3.10416126, 2.80644298, 1.87024701, 1.48127627,
                        0.79101127]),
          b: ivy.array([1.98288572, 0.68917423])
      } {
          a: (<class ivy.data_classes.array.array.Array> shape=[6, 6]),
          b: (<class ivy.data_classes.array.array.Array> shape=[4, 4])
      }
      """
      return self._static_svd(
          self,
          compute_uv=compute_uv,
          full_matrices=full_matrices,
          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 40 for calling the _ContainerWithLinearAlgebra obj's underlying member method code with example usage: obj.svd() and returns: self