code: def eig(
      x: Union[ivy.Array, ivy.NativeArray],
      /,
  ) -> Tuple[ivy.Array]:
      """Compute eigenvalies and eigenvectors of x. Returns a tuple with two
      elements: first is the set of eigenvalues, second is the set of
      eigenvectors.
  
      Parameters
      ----------
      x
          An array of shape (..., N, N).
  
      Returns
      -------
      w
          Not necessarily ordered array(..., N) of eigenvalues in complex type.
      v
          An array(..., N, N) of normalized (unit “length”) eigenvectors,
          the column v[:,i] is the eigenvector corresponding to the eigenvalue w[i].
  
      This function conforms to the `Array API Standard
      <https://data-apis.org/array-api/latest/>`_.
      Both the description and the type hints above assumes an array input for simplicity,
      but this function is *nestable*, and therefore also accepts :class:`ivy.Container`
      instances in place of any of the arguments.
  
      Examples
      --------
      With :class:`ivy.Array` inputs:
      >>> x = ivy.array([[1,2], [3,4]])
      >>> w, v = ivy.eig(x)
      >>> w; v
      ivy.array([-0.37228132+0.j,  5.37228132+0.j])
      ivy.array([[-0.82456484+0.j, -0.41597356+0.j],
                 [ 0.56576746+0.j, -0.90937671+0.j]])
  
      >>> x = ivy.array([[[1,2], [3,4]], [[5,6], [5,6]]])
      >>> w, v = ivy.eig(x)
      >>> w; v
      ivy.array(
          [
              [-3.72281323e-01+0.j,  5.37228132e+00+0.j],
              [3.88578059e-16+0.j,  1.10000000e+01+0.j]
          ]
      )
      ivy.array([
              [
                  [-0.82456484+0.j, -0.41597356+0.j], [0.56576746+0.j, -0.90937671+0.j]
              ],
              [
                  [-0.76822128+0.j, -0.70710678+0.j], [0.6401844 +0.j, -0.70710678+0.j]
              ]
      ])
      """
      return current_backend(x).eig(x)
  
imports: import logging
  from typing import Union, Optional, Tuple, List, Sequence, Literal
  import ivy
  from ivy.utils.backend import current_backend
  from ivy.func_wrapper import to_native_arrays_and_back, handle_out_argument, handle_nestable, handle_array_like_without_promotion, handle_array_function, handle_device, inputs_to_ivy_arrays, handle_backend_invalid
  from ivy.utils.exceptions import handle_exceptions
label_desc: Use image node_id 6 for calling a global function with example usage: eig() and returns: current_backend