mxnet.np.linalg.eig¶
-
eig
(a)¶ 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 eigenvaluew[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.
()
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 thatdot(a,v) = w * v
. Thus, the arrays a, w, and v satisfy the equationsdot(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 in the following way(s): * Does not support complex input and output.
Examples
>>> from numpy import linalg as LA >>> a = np.array([[-1.9147992 , 6.054115 , 18.046988 ], ... [ 0.77563655, -4.860152 , 2.1012988 ], ... [ 2.6083658 , 2.3705218 , 0.3192524 ]]) >>> w, v = LA.eig(a) >>> w array([ 6.9683027, -7.768063 , -5.655937 ]) >>> v array([[ 0.90617794, 0.9543622 , 0.2492316 ], [ 0.13086087, -0.04077047, -0.9325615 ], [ 0.4021404 , -0.29585576, 0.26117516]])