How to compute eigen values and eigen vectors in Python
In this python tutorial, we will write a code in Python on how to compute eigenvalues and vectors.
Creation of a Square Matrix in Python
First, we will create a square matrix of order 3X3 using numpy library.
Numpy is a Python library which provides various routines for operations on arrays such as mathematical, logical, shape manipulation and many more.
To know more about the numpy library refer the following link:
import numpy as np a=np.array([[1,2,3],[4,5,6],[7,8,9]])
To print the created matrix use the print function.
print(a)
Output:
[[1 2 3] [4 5 6] [7 8 9]]
Computation of Eigen Values and Eigen Vectors
After creating a square matrix using numpy library we have to use a package in this library known as numpy.linalg. This library is used for calculating all the linear algebra functions like vector products matrix operations(inverse, transpose).
To know more about this library refer the following link
https://docs.scipy.org/doc/numpy-1.13.0/reference/routines.linalg.html
In this library, we have to import the function known as eig to compute eigenvalues and vectors.
from numpy.linalg import eig values , vectors = eig(a) print(values) print(vectors)
Output 1:
Eigenvalues
[ 1.61168440e+01 -1.11684397e+00 -1.30367773e-15]
Output 2:
Eigenvectors
[[-0.23197069 -0.78583024 0.40824829] [-0.52532209 -0.08675134 -0.81649658] [-0.8186735 0.61232756 0.40824829]]
Using this function and this package we can compute eigenvectors and eigenvalues for any square matrix of order nXn.
Example-2:
from numpy.linalg import eig import numpy as np a=np.array([[10,20,30,40],[1,2,3,5],[7,8,9,10],[15,25,35,45]]) values , vectors = eig(a) print(values) print(vectors)
Output 1:
Eigen Values
[ 6.96947758e+01 -3.22806629e+00 -4.66709488e-01 -3.59740472e-14]
Output 2:
Eigen Vectors
[[-6.28224280e-01 -7.67762260e-01 -5.75701703e-01 -4.08248290e-01] [-7.35387665e-02 -1.62230993e-02 7.06561093e-01 8.16496581e-01] [-2.05200662e-01 6.09975078e-01 2.05319101e-01 -4.08248290e-01] [-7.46872808e-01 -1.95469507e-01 -3.56627310e-01 -2.73218204e-14]]
The above output is an example of a square matrix of order 4X4.
You can also read,
- How to Perform Matrix Multiplication of given dimension in Python3?
- Build a Number Guessing Game in Python
Thank you for the information. !
how to write a python program to find the rank of a 6*6 matrix and its eigen value also ?
If the matrix where I am going to discover the eigenvectors and eigenvalues is related to textual data, how do I retrieve or know what data those eigenvalues and vectors belong to? or is it not possible?