code: def eig(a):
      r"""
      Compute the eigenvalues and right eigenvectors of a square array.
  
      Parameters
      ----------
      a : (..., M, M) ndarray
          Matrices for which the eigenvalues and right eigenvectors will
          be computed
  
      Returns
      -------
      w : (..., M) ndarray
          The eigenvalues, each repeated according to its multiplicity.
          The eigenvalues are not necessarily ordered.
      v : (..., M, M) ndarray
          The normalized (unit "length") eigenvectors, such that the
          column ``v[:,i]`` is the eigenvector corresponding to the
          eigenvalue ``w[i]``.
  
      Raises
      ------
      MXNetError
          If the eigenvalue computation does not converge.
  
      See Also
      --------
      eigvals : eigenvalues of a non-symmetric array.
      eigh : eigenvalues and eigenvectors of a real symmetric array.
      eigvalsh : eigenvalues of a real symmetric.
  
      Notes
      -----
      This is implemented using the ``_geev`` LAPACK routines which compute
      the eigenvalues and eigenvectors of general square arrays.
  
      The number `w` is an eigenvalue of `a` if there exists a vector
      `v` such that ``dot(a,v) = w * v``. Thus, the arrays `a`, `w`, and
      `v` satisfy the equations ``dot(a[:,:], v[:,i]) = w[i] * v[:,i]``
      for :math:`i \\in \\{0,...,M-1\\}`.
  
      The array `v` of eigenvectors may not be of maximum rank, that is, some
      of the columns may be linearly dependent, although round-off error may
      obscure that fact. If the eigenvalues are all different, then theoretically
      the eigenvectors are linearly independent.
  
      This function differs from the original `numpy.linalg.eig
      <https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.eig.html>`_ in
      the following way(s):
       - Does not support complex input and output.
      """
      return _npi.eig(a)
  
imports: import numpy
  from .None import _symbol
  from .None import _op
  from .None import _internal
label_desc: Use image node_id 16 for calling a global function with example usage: eig(a) and returns: _npi