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

পাইথনে N-ডাইমেনশনাল অ্যারের গ্রেডিয়েন্ট রিটার্ন করা এবং এজ অর্ডার স্পেসিফাই করা


গ্রেডিয়েন্টটি ইন্টিয়র পয়েন্টগুলোতে সেকেন্ড অর্ডার এক্যুরেট সেন্ট্রাল ডিফারেন্সেস ব্যবহার করে কম্পিউট করা হয় এবং বাউন্ডেরিতে ফার্স্ট অথবা সেকেন্ড অর্ডার এক্যুরেট ワン-সাইডেড (ফরওয়ার্ড বা ব্যাকওয়ার্ড) ডিফারেন্সেস ব্যবহার করে। রিটার্ন করা গ্রেডিয়েন্টের ইনপুট অ্যারের মতো একই শেপ থাকে। ১ম প্যারামিটার, f হলো একটি স্ক্যালার ফাংশনের স্যাম্পল ধারণকারী N-ডাইমেনশনাল অ্যারে। ২য় প্যারামিটার হলো varargs অর্থাৎ f ভ্যালুগুলোর স্পেসিং। সব ডাইমেনশনের জন্য ডিফল্ট ইউনিটারি স্পেসিং।

৩য় প্যারামিটার হলো edge_order{1, 2} অর্থাৎ গ্রেডিয়েন্ট N-থ অর্ডার এক্যুরেট ডিফারেন্সেস ব্যবহার করে বাউন্ডেরিতে ক্যালকুলেট করা হয়। ডিফল্ট: ১। ৪র্থ প্যারামিটার হলো axis যেখানে গ্রেডিয়েন্ট ক্যালকুলেট করা হবে শুধু দেয়া অক্ষ বা অক্ষগুলো দিয়ে। ডিফল্ট (axis = None) হলো ইনপুট অ্যারের সব অক্ষের জন্য গ্রেডিয়েন্ট ক্যালকুলেট করা। axis নেগেটিভ হতে পারে, সেক্ষেত্রে এটি লাস্ট থেকে ফার্স্ট অক্ষ तरफ কাউন্ট করে। মেথডটি ndarray-এর একটি লিস্ট রিটার্ন করে যা f-এর প্রতিটি ডাইমেনশন রেসপেক্টিভ ডেরিভেটিভের সাথে কোরেসপন্ড করে। প্রতিটি ডেরিভেটিভের f-এর মতো একই শেপ থাকে।

ধাপগুলো

প্রথমে প্রয়োজনীয় লাইব্রেরি ইম্পোর্ট করুন:

import numpy as np

array() মেথড ব্যবহার করে একটি নাম্পাই অ্যারে তৈরি করুন। আমরা ফ্লোট টাইপের এলিমেন্ট যোগ করেছি:

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

অ্যারে ডিসপ্লে করুন:

print("Our Array...\n", arr)

ডাইমেনশন চেক করুন:

print("\nDimensions of our Array...\n", arr.ndim)

ডাটা টাইপ পান:

print("\nDatatype of our Array object...\n", arr.dtype)

গ্রেডিয়েন্ট কম্পিউট করা হয় সেকেন্ড অর্ডার এক্যুরেট সেন্ট্রাল ডিফারেন্সেস দিয়ে ইন্টিয়র পয়েন্টগুলোতে এবং ফার্স্ট বা সেকেন্ড অর্ডার এক্যুরেট ওয়ান-সাইডেড ডিফারেন্সেস দিয়ে বাউন্ডেরিতে। রিটার্ন করা গ্রেডিয়েন্টের ইনপুট অ্যারের মতো একই শেপ থাকে:

print("\nResult (gradient)...\n", np.gradient(arr, edge_order=2))

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

import numpy as np

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

print("Our Array...\n", arr)
print("\nDimensions of our Array...\n", arr.ndim)
print("\nDatatype of our Array object...\n", arr.dtype)
print("\nResult (gradient)...\n", np.gradient(arr, edge_order=2))

আউটপুট

Our Array... [ 20. 35. 57. 70. 85. 120.]
Dimensions of our Array... 1
Datatype of our Array object... float64
Result (gradient)... [11.5 18.5 17.5 14. 25. 45.]
  1. পাইথনে N-ডাইমেনশনাল অ্যারের গ্রেডিয়েন্ট (Gradient) অক্ষ ১ অনুযায়ী বের করুন

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

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

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