如何在 Python 中使用 SciPy 計算矩陣的特徵值和特徵向量?


特徵向量和特徵值在許多情況下都有應用。德語中“Eigen”的意思是“自己的”或“典型的”。特徵向量也被稱為“特徵向量”。假設我們需要對資料集執行一些轉換,但給定的條件是資料集中的資料方向不應該改變。這時可以使用特徵向量和特徵值。

給定一個方陣(行數等於列數的矩陣),特徵值和特徵向量滿足以下等式。

在找到特徵值後計算特徵向量。

注意 - 特徵值也適用於 3 維或更高維。

SciPy 在庫中提供了一個名為“eig”的函式,可以幫助計算特徵值和特徵向量,而不是手動執行這些數學計算。

“eig”函式的語法

scipy.linalg.eig(matrix)

讓我們看看如何使用“eig”函式 -

示例

 現場演示

from scipy import linalg
import numpy as np
my_arr = np.array([[5,7],[11,3]])
eg_val, eg_vect = linalg.eig(my_arr)
print("The Eigenvalues are :")
print(eg_val)
print("The Eigenvectors are :")
print(eg_vect)

輸出

The Eigenvalues are :
[12.83176087+0.j -4.83176087+0.j]
The Eigenvectors are :
[[ 0.66640536 -0.57999285]
[ 0.74558963 0.81462157]]

解釋

  • 匯入所需的庫。
  • 使用 Numpy 庫在矩陣中定義一些值。
  • 將矩陣作為引數傳遞給“eig”函式,該函式計算矩陣的特徵值和特徵向量。
  • 這些計算出的資料儲存在兩個不同的變數中。
  • 此輸出顯示在控制檯上。

更新於: 2020-12-10

1K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.