Header Ads Widget

⚡ Premium Tools Hub • EXE Apps + Full Python Source Code
Lite • Pro • Bundle Packs • Instant Download

NumPy Eigenvectors Explained – Python np.linalg.eig() with Examples and Visualization

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

ConceptMeaning
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.




Post a Comment

0 Comments