NumPy – Eigenvectors
Eigenvectors are a fundamental concept in linear algebra used extensively in:
- Machine learning
- Data science
- Physics
- Computer graphics
- Signal processing
In Python, NumPy makes it easy to compute eigenvectors using np.linalg.eig().
What is an Eigenvector?
An eigenvector is a special vector that does not change direction when a matrix transformation is applied.
Only its magnitude (length) changes.
Eigenvector Equation
The mathematical form is:
A v = λ v
Where:
- A = matrix
- v = eigenvector
- λ = eigenvalue
Simple Meaning
Eigenvectors are directions that remain unchanged after transformation.
Only stretching or shrinking happens.
Import NumPy
import numpy as np
1. Eigenvectors and Eigenvalues
import numpy as np
A = np.array([[4, 2],
[1, 3]])
eigenvalues, eigenvectors = np.linalg.eig(A)
print("Eigenvalues:\n", eigenvalues)
print("Eigenvectors:\n", eigenvectors)
Output:
Eigenvalues:
[5. 2.]
Eigenvectors:
[[ 0.89442719 -0.70710678]
[ 0.4472136 0.70710678]]
Explanation
- Each column in eigenvectors matrix is an eigenvector
- Each eigenvector corresponds to one eigenvalue
- Direction remains fixed, only scaling changes
2. Accessing Individual Eigenvectors
import numpy as np
A = np.array([[4, 2],
[1, 3]])
eigenvalues, eigenvectors = np.linalg.eig(A)
v1 = eigenvectors[:, 0]
v2 = eigenvectors[:, 1]
print("Eigenvector 1:", v1)
print("Eigenvector 2:", v2)
3. Verify Eigenvector Property
Check if:
A v = λ v
import numpy as np
A = np.array([[4, 2],
[1, 3]])
eigenvalues, eigenvectors = np.linalg.eig(A)
v = eigenvectors[:, 0]
λ = eigenvalues[0]
print(np.allclose(A @ v, λ * v))
Output:
True
4. 3×3 Matrix Eigenvectors
import numpy as np
A = np.array([[1, 2, 3],
[0, 1, 4],
[5, 6, 0]])
eigenvalues, eigenvectors = np.linalg.eig(A)
print("Eigenvectors:\n", eigenvectors)
5. Real vs Complex Eigenvectors
import numpy as np
A = np.array([[0, -1],
[1, 0]])
eigenvalues, eigenvectors = np.linalg.eig(A)
print("Eigenvalues:", eigenvalues)
print("Eigenvectors:\n", eigenvectors)
Output (complex values):
[0.+1.j 0.-1.j]
Properties of Eigenvectors
✔ Do not change direction
✔ Only scale changes
✔ Exist only for square matrices
✔ Can be real or complex
Real-World Applications
Eigenvectors are used in:
1. Machine Learning
- PCA (Principal Component Analysis)
- Feature reduction
2. Data Science
- Pattern detection
- Data compression
3. Physics
- Quantum states
- Vibration analysis
4. Computer Graphics
- Rotation systems
- Transformation stability
Eigenvectors vs Eigenvalues
| Concept | Meaning |
|---|---|
| Eigenvector | Direction that stays unchanged |
| Eigenvalue | Scaling factor of that direction |
Why Eigenvectors Matter
Eigenvectors help to:
- Understand data structure
- Reduce dimensions
- Identify hidden patterns
- Solve transformation problems
Common Error
❌ Non-square matrix
ValueError: Last 2 dimensions of the array must be square
Solution:
Eigenvectors only exist for square matrices.
Why Use NumPy?
Using NumPy allows:
- Fast eigen decomposition
- Efficient linear algebra computation
- Easy integration with AI/ML systems
Combined with Python, it becomes essential for scientific computing.
Summary
Eigenvectors represent stable directions in a matrix transformation, while eigenvalues represent scaling factors.
With NumPy, you can compute them easily using:
np.linalg.eig(A)
Conclusion
Eigenvectors are a core concept in linear algebra and are essential for AI, machine learning, and data science. NumPy makes these advanced mathematical operations simple and accessible.


0 Comments