পাইথন নামপাই-তে 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 সমান নয়), কিন্তু নামপাই শুধু ডায়াগোনালের বাস্তব অংশ বিবেচনা করে কম্পিউট করে।