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

পাইথনে N-ডাইমেনশনাল অ্যারের গ্রেডিয়েন্ট (Gradient) নির্দিষ্ট অক্ষ অনুযায়ী বের করুন

গ্রেডিয়েন্ট (Gradient) আंतरিক পয়েন্টগুলোর জন্য দ্বিতীয় অর্ডারের সঠিক সেন্ট্রাল ডিফারেন্স (central differences) এবং সীমানার পয়েন্টগুলোর জন্য প্রথম বা দ্বিতীয় অর্ডারের ওয়ান-সাইডেড (forward/backward) ডিফারেন্স ব্যবহার করে গণনা করা হয়। ফেরত দেওয়া গ্রেডিয়েন্ট ইনপুট অ্যারের মতো আকারের হয়।

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

  • f: স্কেলার ফাংশনের নমুনা ধারণকারী N-ডাইমেনশনাল অ্যারে
  • varargs (ঐচ্ছিক): f মানগুলোর স্পেসিং। ডিফল্ট সব ডাইমেনশনে ১।
  • edge_order {1, 2} (ঐচ্ছিক): সীমানায় গ্রেডিয়েন্টের অর্ডার। ডিফল্ট ১।
  • axis (ঐচ্ছিক): যে অক্ষ বা অক্ষগুলোতে গ্রেডিয়েন্ট গণনা হবে। ডিফল্ট None (সব অক্ষ)।

মেথডটি ndarray-দের একটি লিস্ট ফেরত দেয় যা f-এর প্রতিটি ডাইমেনশন wzglęপে ডেরিভেটিভ উপস্থাপন করে। প্রতিটি ডেরিভেটিভের আকার f-এর মতোই থাকে।

পদ্ধতি

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

import numpy as np

২-ডি ফ্লোট অ্যারে তৈরি করুন

arr = np.array([[20, 35, 57], [70, 85, 120]], dtype=float)

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

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

অক্ষ ০ (axis=0) অনুযায়ী গ্রেডিয়েন্ট বের করুন

print("\nফলাফল (গ্রেডিয়েন্ট)...\n", np.gradient(arr, axis=0))

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

import numpy as np

arr = np.array([[20, 35, 57], [70, 85, 120]], dtype=float)

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

print("\nফলাফল (গ্রেডিয়েন্ট, axis=0)...\n", np.gradient(arr, axis=0))

আউটপুট

আমাদের অ্যারে...
[[ 20.  35.  57.]
 [ 70.  85. 120.]]

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

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

ফলাফল (গ্রেডিয়েন্ট, axis=0)...
[[50. 50. 63.]
 [50. 50. 63.]]

ব্যাখ্যা: অক্ষ ০ অনুযায়ী (রো-ওয়াইজ) গ্রেডিয়েন্ট। প্রতিটি কলামের জন্য: (70-20)=50, (85-35)=50, (120-57)=63। যেহেতু শুধু ২ রো আছে, সীমানা ও আंतरিক পয়েন্ট একই ফলাফল দেয়।

  1. পাইথনে NaNকে শূন্য বিবেচনা করে অক্ষ ১ অনুযায়ী ক্রমাগত যোগফল (Cumulative Sum) বের করুন

  2. পাইথনে NaNকে শূন্য বিবেচনা করে অক্ষ ০ অনুযায়ী ক্রমাগত যোগফল (Cumulative Sum) বের করুন

  3. পাইথনে N-ডাইমেনশনাল অ্যারের অক্ষ ০-র ওপর গ্রেডিয়েন্ট বের করুন

  4. পাইথনে অক্ষ ০-র ওপর n-তম ডিসক্রিট ডিফারেন্স বের করুন