scipy.linalg.eig

scipy.linalg.eig(a, b=None, left=False, right=True, overwrite_a=False, overwrite_b=False)

Solve an ordinary or generalized eigenvalue problem of a square matrix.

Find eigenvalues w and right or left eigenvectors of a general matrix:

a   vr[:,i] = w[i]        b   vr[:,i]
a.H vl[:,i] = w[i].conj() b.H vl[:,i]

where .H is the Hermitean conjugation.

Parameters :

a : array, shape (M, M)

A complex or real matrix whose eigenvalues and eigenvectors will be computed.

b : array, shape (M, M)

Right-hand side matrix in a generalized eigenvalue problem. If omitted, identity matrix is assumed.

left : boolean

Whether to calculate and return left eigenvectors

right : boolean

Whether to calculate and return right eigenvectors

overwrite_a : boolean

Whether to overwrite data in a (may improve performance)

overwrite_b : boolean

Whether to overwrite data in b (may improve performance)

Returns :

w : double or complex array, shape (M,)

The eigenvalues, each repeated according to its multiplicity.

(if left == True) :

vl : double or complex array, shape (M, M)

The normalized left eigenvector corresponding to the eigenvalue w[i] is the column v[:,i].

(if right == True) :

vr : double or complex array, shape (M, M)

The normalized right eigenvector corresponding to the eigenvalue w[i] is the column vr[:,i].

Raises LinAlgError if eigenvalue computation does not converge :

See also

eigh
eigenvalues and right eigenvectors for symmetric/Hermitian arrays

Previous topic

scipy.linalg.triu

Next topic

scipy.linalg.eigvals

This Page