Compute eigenvalues and right eigenvectors of an array.
Parameters:  a : array_like, shape (M, M)


Returns:  w : ndarray, shape (M,)
v : ndarray, shape (M, M)

Raises:  LinAlgError :

See also
Notes
This is a simple interface to the LAPACK routines dgeev and zgeev that compute the eigenvalues and eigenvectors of general real and complex arrays respectively.
The number w is an eigenvalue of a if there exists a vector v satisfying the equation dot(a,v) = w*v. Alternately, if w is a root of the characteristic equation det(a  w[i]*I) = 0, where det is the determinant and I is the identity matrix. The arrays a, w, and v satisfy the equation dot(a,v[i]) = w[i]*v[:,i].
The array v of eigenvectors may not be of maximum rank, that is, some of the columns may be dependent, although roundoff error may obscure that fact. If the eigenvalues are all different, then theoretically the eigenvectors are independent. Likewise, the matrix of eigenvectors is unitary if the matrix a is normal, i.e., if dot(a, a.H) = dot(a.H, a).
The left and right eigenvectors are not necessarily the (Hermitian) transposes of each other.