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

পাইথনে জটিল হার্মিটিয়ান বা বাস্তব সিমেট্রিক ম্যাট্রিক্সের আইজেনভ্যালু (Eigenvalues) গণনা করুন

পাইথন নামপাই-তে numpy.linalg.eigvalsh() মেথড ব্যবহার করে জটিল হার্মিটিয়ান (Hermitian) বা বাস্তব সিমেট্রিক (symmetric) ম্যাট্রিক্সের আইজেনভ্যালু (eigenvalues) গণনা করা যায়। এটি আহত পথে (ascending order) আইজেনভ্যালুগুলো ফেরত দেয়, প্রতিটি এর মাল্টিপ্লিসিটি অনুযায়ী পুনরাবৃত্তি করে।

প্যারামিটারসমূহ

  • a: জটিল বা বাস্তব মানযুক্ত ম্যাট্রিক্স যার আইজেনভ্যালু বের করতে হবে
  • UPLO (ঐচ্ছিক): 'L' (ডিফল্ট, নিচের ট্র্যাঙ্গুলার পার্ট) বা 'U' (উপরের ট্র্যাঙ্গুলার পার্ট)। ডায়াগোনালের শুধু বাস্তব অংশই বিবেচনা করা হয়।

পদ্ধতি

লাইব্রেরি ইম্পোর্ট করুন

import numpy as np
from numpy import linalg as LA

জটিল ২×২ ম্যাট্রিক্স তৈরি করুন

arr = np.array([[5+2j, 9-2j], [0+2j, 2-1j]])

অ্যারে এবং বৈশিষ্ট্য দেখুন

print("আমাদের অ্যারে...\n", arr)
print("\nআমাদের অ্যারের মাত্রা...\n", arr.ndim)
print("\nআমাদের অ্যারে অবজেক্টের ডেটা টাইপ...\n", arr.dtype)
print("\nআমাদের অ্যারে অবজেক্টের আকার...\n", arr.shape)

আইজেনভ্যালু গণনা করুন

print("\nফলাফল (আইজেনভ্যালু)...\n", LA.eigvalsh(arr))

সম্পূর্ণ উদাহরণ

from numpy import linalg as LA
import numpy as np

arr = np.array([[5+2j, 9-2j], [0+2j, 2-1j]])

print("আমাদের অ্যারে...\n", arr)
print("\nআমাদের অ্যারের মাত্রা...\n", arr.ndim)
print("\nআমাদের অ্যারে অবজেক্টের ডেটা টাইপ...\n", arr.dtype)
print("\nআমাদের অ্যারে অবজেক্টের আকার...\n", arr.shape)

print("\nফলাফল (আইজেনভ্যালু)...\n", LA.eigvalsh(arr))

আউটপুট

আমাদের অ্যারে...
[[5.+2.j 9.-2.j]
 [0.+2.j 2.-1.j]]

আমাদের অ্যারের মাত্রা...
2

আমাদের অ্যারে অবজেক্টের ডেটা টাইপ...
complex128

আমাদের অ্যারে অবজেক্টের আকার...
(2, 2)

ফলাফল (আইজেনভ্যালু)...
[1. 6.]

দ্রষ্টব্য: eigvalsh() শুধু হার্মিটিয়ান/সিমেট্রিক ম্যাট্রিক্সের জন্য কাজ করে। সাধারণ ম্যাট্রিক্সের জন্য eigvals() ব্যবহার করুন। এখানে ম্যাট্রিক্সটি হার্মিটিয়ান নয় (off-diagonal সমান নয়), কিন্তু নামপাই শুধু ডায়াগোনালের বাস্তব অংশ বিবেচনা করে কম্পিউট করে।

  1. পাইথনে জটিল সংখ্যার কাল্পনিক অংশ (Imaginary Part) ফেরত দিন

  2. পাইথনে জটিল সংখ্যার বাস্তব অংশ (Real Part) বের করুন এবং পরিবর্তন করুন

  3. পাইথনে ফ্রবেনিয়াস নর্ম (Frobenius Norm) ব্যবহার করে ম্যাট্রিক্সের কন্ডিশন নম্বর গণনা করুন

  4. পাইথনে জটিল হার্মিটিয়ান বা বাস্তব সিমেট্রিক ম্যাট্রিক্সের আইজেনভ্যালু (Eigenvalues) গণনা করুন