Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

SciPy สามารถใช้คำนวณค่า eigen และเวกเตอร์ eigen ของเมทริกซ์ใน Python ได้อย่างไร


เวกเตอร์ Eigen และค่า Eigen พบการใช้งานในหลายสถานการณ์ คำว่า 'Eigen' ในภาษาเยอรมันหมายถึง 'เป็นเจ้าของ' หรือ 'ทั่วไป' เวกเตอร์ Eigen เรียกอีกอย่างว่า 'เวกเตอร์ลักษณะ' สมมติว่าเราจำเป็นต้องทำการแปลงในชุดข้อมูล แต่เงื่อนไขที่กำหนดคือทิศทางของข้อมูลในชุดข้อมูลไม่ควรเปลี่ยนแปลง นี่คือเวลาที่สามารถใช้เวกเตอร์ Eigen และค่า Eigen ได้

กำหนดเมทริกซ์สี่เหลี่ยมจัตุรัส (เมทริกซ์ที่มีจำนวนแถวเท่ากับจำนวนคอลัมน์) ค่า Eigen และเวกเตอร์ Eigen จะเป็นไปตามสมการด้านล่าง

SciPy สามารถใช้คำนวณค่า eigen และเวกเตอร์ eigen ของเมทริกซ์ใน Python ได้อย่างไร

เวกเตอร์ไอเกนคำนวณหลังจากพบค่าไอเกน

หมายเหตุ − ค่า 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' ที่คำนวณค่าลักษณะเฉพาะและเวกเตอร์ลักษณะเฉพาะของเมทริกซ์
  • ข้อมูลที่คำนวณเหล่านี้ถูกเก็บไว้ในตัวแปรสองตัวแปรที่แตกต่างกัน
  • ผลลัพธ์นี้จะแสดงบนคอนโซล