কম্পিউটার টিউটোরিয়াল

পাইথনে SciPy ব্যবহার করে ম্যাট্রিক্সের আইগেন ভ্যালু ও আইগেন ভেক্টর কীভাবে বের করবেন?


আইগেন ভেক্টর ও আইগেন ভ্যালুর অনেক পরিস্থিতিতে ব্যবহার আছে। জার্মান ভাষায় Eigen শব্দের অর্থ own বা typical। একটি আইগেন ভেক্টরকে characteristic vector ও বলা হয়। ধরি আমাদের একটি ডেটাসেটে ট্রান্সফরমেশন করতে হবে কিন্তু শর্ত হলো ডেটাসেটে ডেটার দিক পরিবর্তন হবেনা। তখন আইগেন ভেক্টর ও আইগেন ভ্যালু ব্যবহার করা যায়।

একটি স্কয়ার ম্যাট্রিক্স (যেখানে সারি ও কলামের সংখ্যা সমান) দেওয়া থাকলে, একটি আইগেন ভ্যালু ও আইগেন ভেক্টর নিচের সমীকরণকে সन्तুষ্ট করে:

পাইথনে SciPy ব্যবহার করে ম্যাট্রিক্সের আইগেন ভ্যালু ও আইগেন ভেক্টর কীভাবে বের করবেন?

আইগেন ভ্যালু বের করার পর আইগেন ভেক্টর কম্পিউট করা হয়। নোট − আইগেন ভ্যালু ৩ বা তার বেশি ডাইমেনশনেও ভালো কাজ করে।

ম্যানুয়ালি এই গাণিতিক গণনা না করে 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("আইগেনভ্যালুগুলো:")
print(eg_val)
print("আইগেনভেক্টরগুলো:")
print(eg_vect)

আউটপুট

আইগেনভ্যালুগুলো: [12.83176087+0.j -4.83176087+0.j]
আইগেনভেক্টরগুলো: [[ 0.66640536 -0.57999285]
 [ 0.74558963  0.81462157]]

ব্যাখ্যা

  • প্রয়োজনীয় লাইব্রেরি ইম্পোর্ট করা হয়েছে।
  • Numpy লাইব্রেরি ব্যবহার করে নির্দিষ্ট মান দিয়ে একটি ম্যাট্রিক্স সংজ্ঞায়িত করা হয়েছে।
  • ম্যাট্রিক্সটি eig ফাংশনে প্যারামিটার হিসেবে পাস করা হয়েছে যা আইগেনভ্যালু ও আইগেনভেক্টর কম্পিউট করে।
  • কম্পিউটেড ডেটা দুটি ভিন্ন ভেরিয়েবলে সংরক্ষণ করা হয়েছে।
  • আউটপুট কনসোলে দেখানো হয়েছে।
  1. টেনসরফ্লো (TensorFlow) কীভাবে পাইথনে মডেল ট্রেন (train) করতে ব্যবহৃত হয়?

  2. Keras ব্যবহার করে পাইথনে কলব্যাক তৈরি ও ওজন সংরক্ষণ করা

  3. পাইথনে Seaborn-র implot ফাংশন দিয়ে ডিসক্রিট ভ্যারিয়েবলসহ ডেটা ফিট করার পদ্ধতি

  4. পাইথনে SciPy দিয়ে ম্যাট্রিক্সের ডিটারমিন্যান্ট মান গণনা করার পদ্ধতি