Numpy Tutorial
Creating NumPy Array
NumPy Array Manipulation
Matrix in NumPy
Operations on NumPy Array
Reshaping NumPy Array
Indexing NumPy Array
Arithmetic operations on NumPy Array
Linear Algebra in NumPy Array
NumPy and Random Data
Sorting and Searching in NumPy Array
Universal Functions
Working With Images
Projects and Applications with NumPy
Eigenvalues and eigenvectors are crucial concepts in linear algebra, with various applications in sciences and engineering, such as stability analysis, vibration analysis, and principal component analysis (PCA) in machine learning.
Let's dive into a tutorial on how to compute the eigenvalues and right eigenvectors of a square array using NumPy.
Firstly, make sure you have NumPy installed:
pip install numpy
Then, import the required library:
import numpy as np
For demonstration purposes, let's consider a 2x2 matrix:
matrix = np.array([[4, -2], [1, 1]]) print("Matrix:") print(matrix)
To compute the eigenvalues and eigenvectors of a square matrix, you can use the numpy.linalg.eig()
function:
eigenvalues, eigenvectors = np.linalg.eig(matrix) print("Eigenvalues:") print(eigenvalues) print("\nEigenvectors:") print(eigenvectors)
This function returns:
eigenvalues: An array of eigenvalues of the matrix.
eigenvectors: An array where each column is an eigenvector corresponding to the eigenvalue in the same position.
For the given matrix, you'll see the eigenvalues and their corresponding eigenvectors. For a matrix A, an eigenvector v and its corresponding eigenvalue �� satisfy the relation:
Av=��v
You can validate this relationship using NumPy by multiplying the matrix with an eigenvector and seeing if it equals the product of the eigenvalue and the eigenvector:
# Let's validate for the first eigenvalue-eigenvector pair eigenvalue = eigenvalues[0] eigenvector = eigenvectors[:, 0] result_left = np.dot(matrix, eigenvector) result_right = eigenvalue * eigenvector print("Matrix . Eigenvector:") print(result_left) print("\nEigenvalue x Eigenvector:") print(result_right)
You should find that result_left
and result_right
are approximately the same, proving the above relationship.
Ensure your matrix is square (i.e., the number of rows equals the number of columns). If not, the numpy.linalg.eig()
function will raise an error.
The eigenvalues can be real or complex numbers. The matrix's eigenvectors will be complex if and only if any of the eigenvalues are complex.
Using NumPy's numpy.linalg.eig()
function, computing the eigenvalues and eigenvectors of a square matrix becomes a straightforward task. This capability is essential for many tasks in mathematics, physics, engineering, and data analysis.
Computing eigenvalues and eigenvectors of a matrix in Python using NumPy.
import numpy as np # Define a matrix matrix = np.array([[4, -2], [1, 1]]) # Compute eigenvalues and eigenvectors eigenvalues, eigenvectors = np.linalg.eig(matrix) print("Eigenvalues:") print(eigenvalues) print("\nEigenvectors:") print(eigenvectors)
Calculating eigenvalues and eigenvectors using NumPy's linear algebra module.
import numpy as np # Define a matrix matrix = np.array([[4, -2], [1, 1]]) # Calculate eigenvalues and eigenvectors eigenvalues, eigenvectors = np.linalg.eig(matrix) print("Eigenvalues:") print(eigenvalues) print("\nEigenvectors:") print(eigenvectors)
Performing eigenvalue decomposition of a matrix using NumPy.
import numpy as np # Define a matrix matrix = np.array([[4, -2], [1, 1]]) # Eigenvalue decomposition eigenvalues, eigenvectors = np.linalg.eig(matrix) print("Eigenvalues:") print(eigenvalues) print("\nEigenvectors:") print(eigenvectors)
Using NumPy's eig
function for eigendecomposition.
import numpy as np # Define a matrix matrix = np.array([[4, -2], [1, 1]]) # Eigendecomposition using NumPy eig function eigenvalues, eigenvectors = np.linalg.eig(matrix) print("Eigenvalues:") print(eigenvalues) print("\nEigenvectors:") print(eigenvectors)
Finding eigenvalues and right eigenvectors using NumPy.
import numpy as np # Define a matrix matrix = np.array([[4, -2], [1, 1]]) # Compute eigenvalues and right eigenvectors eigenvalues, eigenvectors = np.linalg.eig(matrix) print("Eigenvalues:") print(eigenvalues) print("\nRight Eigenvectors:") print(eigenvectors)
Computing right eigenvectors of a matrix using NumPy.
import numpy as np # Define a matrix matrix = np.array([[4, -2], [1, 1]]) # Compute right eigenvectors eigenvalues, eigenvectors = np.linalg.eig(matrix) print("Eigenvalues:") print(eigenvalues) print("\nRight Eigenvectors:") print(eigenvectors)
Extracting eigenvalues and eigenvectors using NumPy.
import numpy as np # Define a matrix matrix = np.array([[4, -2], [1, 1]]) # Extract eigenvalues and eigenvectors eigenvalues, eigenvectors = np.linalg.eig(matrix) print("Eigenvalues:") print(eigenvalues) print("\nEigenvectors:") print(eigenvectors)
Example using NumPy's linalg.eig
for eigenvalue and eigenvector computation.
import numpy as np # Define a matrix matrix = np.array([[4, -2], [1, 1]]) # Compute eigenvalues and eigenvectors using linalg.eig eigenvalues, eigenvectors = np.linalg.eig(matrix) print("Eigenvalues:") print(eigenvalues) print("\nEigenvectors:") print(eigenvectors)
Comparing NumPy's eig
and eigh
functions for eigenvalue computation.
import numpy as np # Define a symmetric matrix matrix = np.array([[4, -2], [-2, 1]]) # Compute eigenvalues using eig and eigh eigenvalues_eig, _ = np.linalg.eig(matrix) eigenvalues_eigh, _ = np.linalg.eigh(matrix) print("Eigenvalues (eig):", eigenvalues_eig) print("Eigenvalues (eigh):", eigenvalues_eigh)