بزرگترین مقسوم علیه مشترک با ufunc (ufunc Finding GCD)
اینجا با کمک NumPy می بینیم بزرگترین مقسوم علیه مشترک با ufunc در NumPy چطور حساب می شود؛ هم برای دو عدد ساده و هم برای چند عدد در یک آرایه، دقیقا طبق مثال های همین منبع.
تعریف بزرگترین مقسوم علیه مشترک با ufunc در NumPy
در متن منبع گفته شده GCD یا HCF یعنی بزرگترین عددی که مقسوم علیه مشترک هر دو عدد باشد.
برای دو عدد ساده، تابع np.gcd() این عدد را حساب می کند.
در مثال منبع، GCD بین 6 و 9 پیدا شده است.
import numpy as np
num1 = 6
num2 = 9
x = np.gcd(num1, num2)
print(x)
طبق توضیح منبع، خروجی 3 است؛ چون بزرگترین عددی است که هر دو عدد بر آن تقسیم می شوند.
اگر قبل از این، کمترین مضرب مشترک را دیده ای، صفحه کمترین مضرب مشترک با ufunc دقیقا قبل از این بخش قرار دارد.
در این صفحه مفهوم بزرگترین مقسوم علیه مشترک با ufunc در NumPy بر اساس همین مثال های منبع توضیح داده شده است.
بزرگترین مقسوم علیه مشترک در آرایه ها با np.gcd.reduce
در ادامه منبع، GCD برای چند عدد در یک آرایه محاسبه شده است.
برای این کار، طبق متن، از متد reduce() روی ufunc gcd() استفاده می شود.
در یادداشت منبع آمده که reduce() تابع ufunc را روی هر عنصر اجرا می کند و آرایه را یک بُعد کاهش می دهد.
در مثال اصلی، GCD برای آرایه [20, 8, 32, 36, 16] حساب شده است.
import numpy as np
arr = np.array([20, 8, 32, 36, 16])
x = np.gcd.reduce(arr)
print(x)
در متن منبع گفته شده خروجی 4 است؛ چون این عدد بزرگترین عددی است که همه عناصر آرایه بر آن بخش پذیرند.
نکته: در منبع تاکید شده که reduce() با استفاده از ufunc، آرایه را قدم به قدم ترکیب می کند تا در نهایت به یک مقدار برسد.
بعد از یادگرفتن GCD، می توانی سراغ صفحه توابع مثلثاتی با ufunc بروی که در منبع بعد از این بخش آمده است.
تمرین گام به گام بزرگترین مقسوم علیه مشترک با ufunc
برای تمرین چیزهایی که منبع درباره GCD گفته، این گام ها را انجام بده:
- دو عدد مثل 6 و 9 انتخاب کن و با
np.gcd()خروجی را ببین. - آرایه ای مانند
[20, 8, 32, 36, 16]بساز و ازnp.gcd.reduce()استفاده کن. - آرایه جدیدی تعریف کن، چند عدد دیگر اضافه کن و دوباره
np.gcd.reduce()را امتحان کن.
با همین سه گام ساده، حس می کنی بزرگترین مقسوم علیه مشترک با ufunc در NumPy دقیقا چه طور روی اعداد تکی و آرایه ها کار می کند.
جمع بندی سریع بزرگترین مقسوم علیه مشترک با ufunc
در پایان، چند نکته کوتاه و مستقیم، همان طور که در منبع آمده است:
- GCD یا HCF بزرگترین عددی است که مقسوم علیه مشترک دو عدد باشد.
- تابع
np.gcd()GCD دو عدد را محاسبه می کند. - با
np.gcd.reduce()می توان GCD همه عناصر یک آرایه را گرفت. - در مثال منبع، GCD آرایه
[20, 8, 32, 36, 16]برابر 4 است. - متد
reduce()آرایه را کم کم ترکیب می کند و در نهایت به یک مقدار می رساند.