linalg.eig finds eigenvalues and eigenvectors for general matrices; linalg.eigh for symmetric/Hermitian problems with real eigenvalues—common in PCA and physics.
Definition intuition
For Av = λv, v is an eigenvector and λ the eigenvalue. Symmetric matrices have orthogonal eigenvectors—foundation of spectral methods.
Example
import numpy as np
from scipy import linalg
A = np.array([[4., 1.], [1., 3.]])
vals, vecs = linalg.eigh(A)
print('eigenvalues:', vals)
print('first eigenvector:', vecs[:, 0])
Applications
- Principal Component Analysis (covariance eigenvectors)
- Stability of dynamical systems (largest |λ|)
- Graph spectra via adjacency matrix eigenvalues
Important interview questions and answers
- Q: eig vs eigh?
A: eigh assumes symmetry—faster and returns real eigenvalues for real symmetric A. - Q: Largest eigenvalue?
A: Often controls long-term behavior in Markov chains and power iteration.
Self-check
- What equation defines an eigenpair?
- When prefer eigh over eig?
Tip: Use eigh for symmetric matrices—real eigenvalues and orthogonal eigenvectors.
Interview prep
- eigh?
Symmetric/Hermitian—real eigenvalues, orthogonal eigenvectors.
- PCA link?
Covariance eigenvectors are principal components.