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

পাইথনে লিনিয়ার অ্যালজেব্রায় কোলেসکی ডিকম্পোজিশন (Cholesky Decomposition) ফেরত দিন

পাইথন নামপাই-তে numpy.linalg.cholesky() মেথড ব্যবহার করে কোলেসکی ডিকম্পোজিশন (Cholesky decomposition) ফেরত দেওয়া যায়। এটি বর্গ ম্যাট্রিক্স a-র ডিকম্পোজিশন L × L.H ফেরত দেয়, যেখানে L হল লোয়ার-ট্র্যাঙ্গুলার (lower-triangular) ম্যাট্রিক্স এবং .H হল কনজুগেট ট্রান্সপোজ (conjugate transpose) অপারেটর।

  • a অবশ্যই হার্মিটিয়ান (সিমেট্রিক যদি সব উপাদান বাস্তব হয়) এবং পজিটিভ-ডিফিনিট (positive-definite) হতে হবে।
  • নামপাই এটি যাচাই করে না — শুধু লোয়ার-ট্র্যাঙ্গুলার এবং ডায়াগোনাল উপাদানগুলোই ব্যবহার করা হয়।
  • শুধু L ফেরত দেওয়া হয়।

প্যারামিটার

  • a: হার্মিটিয়ান (সিমেট্রিক), পজিটিভ-ডিফিনিট ইনপুট ম্যাট্রিক্স

পদ্ধতি

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

import numpy as np

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

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

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

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

কোলেসکی ডিকম্পোজিশন বের করুন

print("\nলিনিয়ার অ্যালজেব্রায় কোলেসکی ডিকম্পোজিশন...\n", np.linalg.cholesky(arr))

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

import numpy as np

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

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

print("\nলিনিয়ার অ্যালজেব্রায় কোলেসکی ডিকম্পোজিশন...\n", np.linalg.cholesky(arr))

আউটপুট

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

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

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

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

লিনিয়ার অ্যালজেব্রায় কোলেসکی ডিকম্পোজিশন...
[[1.+0.j 0.+0.j]
 [0.+2.j 1.+0.j]]

ব্যাখ্যা: ম্যাট্রিক্স [[1, -2j], [2j, 5]] হার্মিটিয়ান এবং পজিটিভ-ডিফিনিট। এর কোলেসکی ফ্যাক্টর L = [[1, 0], [2j, 1]]। যাচাই: L × L.H = [[1, 0], [2j, 1]] × [[1, -2j], [0, 1]] = [[1, -2j], [2j, 5]]।

  1. পাইথনে ২ নর্ম ব্যবহার করে ম্যাট্রিক্সের কন্ডিশন নম্বর গণনা করুন

  2. পাইথনে লিনিয়ার অ্যালজেব্রায় ম্যাট্রিক্স বা ভেক্টরের নর্ম (Norm) ফেরত দিন

  3. পাইথনে ইনপুট অ্যারের বেস-২ লগারিদম বের করুন

  4. পাইথনে স্ট্রিং অ্যারের প্রতিটি এলিমেন্টের দৈর্ঘ্য বের করুন