NumPy: Compute the eigenvalues and right eigenvectors of a given square array
Write a NumPy program to compute the eigenvalues and right eigenvectors of a given square array.
Sample Solution :
Python Code :
import numpy as np
# Create a matrix 'm' using np.mat() function
m = np.mat("3 -2; 1 0")
# Display the original matrix 'm'
print("Original matrix:")
print("a\n", m)
# Compute the eigenvalues and eigenvectors of the matrix 'm' using np.linalg.eig() function
w, v = np.linalg.eig(m)
# Display the eigenvalues of the said matrix
print("Eigenvalues of the said matrix", w)
# Display the eigenvectors of the said matrix
print("Eigenvectors of the said matrix", v)
Sample Output:
Original matrix: a [[ 3 -2] [ 1 0]] Eigenvalues of the said matrix [ 2. 1.] Eigenvectors of the said matrix [[ 0.89442719 0.70710678] [ 0.4472136 0.70710678]]
Explanation:
In the above exercise –
m = np.mat("3 -2;1 0"): This line creates a 2x2 NumPy matrix m with the elements:
[[ 3, -2],
[ 1, 0]]
w, v = np.linalg.eig(m): This line computes the eigenvalues and eigenvectors of the matrix m. The eig function takes a square matrix as input and returns two arrays: one containing the eigenvalues, and the other containing the corresponding eigenvectors as columns.
print( "Eigenvalues of the said matrix", w): This line prints the eigenvalues of the matrix m. In this case, the eigenvalues are 2.0 and 1.0.
print( "Eigenvectors of the said matrix", v): This line prints the eigenvectors of the matrix m as columns of the v array. The eigenvectors corresponding to the eigenvalues 2.0 and 1.0 are [[-0.89442719, 0.70710678], [-0.4472136 , -0.70710678]].
Note:
In linear algebra, an eigenvector or characteristic vector of a linear transformation is a nonzero vector that changes at most by a scalar factor when that linear transformation is applied to it. The corresponding eigenvalue, often denoted by λ (lambda), is the factor by which the eigenvector is scaled.
Geometrically, an eigenvector, corresponding to a real nonzero eigenvalue, points in a direction in which it is stretched by the transformation and the eigenvalue is the factor by which it is stretched. If the eigenvalue is negative, the direction is reversed.
Python-Numpy Code Editor:
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics