গণিত ব্যবহার করে, গাণিতিক ফাংশনের জন্য পাইথনের মানক মডিউল, আপনি সূচকীয় এবং লগারিদমিক ফাংশন (প্রাকৃতিক লগারিদম, সাধারণ লগারিদম এবং বাইনারি লগারিদম) গণনা করতে পারেন।
নমুনা কোড সহ এখানে ব্যাখ্যা করা হয়েছে।
- প্রাকৃতিক লগারিদমের ভিত্তি (নেপিয়ার নম্বর):
math.e
- শক্তি::
**
অপারেটর,pow()
,math.pow()
- বর্গমূল (মূল):
math.sqrt()
- সূচকীয় ফাংশন (প্রাকৃতিক সূচকীয় ফাংশন):
math.exp()
- লগারিদমিক ফাংশন:
math.log()
,math.log10()
,math.log2()
প্রাকৃতিক লগারিদমের ভিত্তি (নেপিয়ার নম্বর):math.e
প্রাকৃতিক লগারিদমের ভিত্তি (নেপিয়ার নম্বর) গণিত মডিউলে একটি ধ্রুবক হিসাবে প্রদান করা হয়, যা গণিত দ্বারা চিহ্নিত করা হয়।
import math
print(math.e)
# 2.718281828459045
পাওয়ার: ** অপারেটর, pow(), math.pow():**অপারেটর,pow(),math.pow()
ক্ষমতা গণনা করতে, হয় ** অপারেটর, বিল্ট-ইন ফাংশন pow(), অথবা math.pow() ব্যবহার করুন।
x এর y-বর্গ নিম্নরূপ পাওয়া যায়
x**y
pow(x, y)
math.pow(x, y)
print(2**4)
# 16
print(pow(2, 4))
# 16
print(math.pow(2, 4))
# 16.0
math.pow() আর্গুমেন্টকে ফ্লোটিং-পয়েন্ট টাইপে রূপান্তর করে। অন্যদিকে, পাইথনের অন্তর্নির্মিত ফাংশন pow() প্রতিটি প্রকারের জন্য সংজ্ঞায়িত __pow()__ ব্যবহার করে।
উদাহরণস্বরূপ, pow() জটিল প্রকারগুলিকে আর্গুমেন্ট হিসাবে নির্দিষ্ট করার অনুমতি দেয়, কিন্তু math.pow() জটিল প্রকারগুলিকে ফ্লোট প্রকারে রূপান্তর করতে পারে না, ফলে একটি ত্রুটি দেখা দেয়।
print(pow(1 + 1j, 2))
# 2j
# print(math.pow(1 + 1j, 2))
# TypeError: can't convert complex to float
পাইথন বিল্ট-ইন ফাংশন pow() একটি তৃতীয় আর্গুমেন্ট, pow(x, y, z) এর অনুমতি দেয়, যা x এর y-পাওয়ারে z এর অবশিষ্ট (বাকি) ফেরত দেয়। এটি pow(x, y) % z হিসাবে একই গণনা, কিন্তু pow(x, y, z) আরও দক্ষ।
print(pow(2, 4, 5))
# 1
বর্গমূল (মূল):math.sqrt()
বর্গমূল (মূল) ** বা math.sqrt() ব্যবহার করে **0.5 সেট করা যেতে পারে।
print(2**0.5)
# 1.4142135623730951
print(math.sqrt(2))
# 1.4142135623730951
print(2**0.5 == math.sqrt(2))
# True
math.pow(), math.sqrt() প্রসেসিংয়ের জন্য আর্গুমেন্টগুলিকে ফ্লোটিং-পয়েন্ট টাইপগুলিতে রূপান্তর করে, তাই ফ্লোট টাইপে রূপান্তর করা যাবে না এমন একটি টাইপ নির্দিষ্ট করার ফলে একটি TypeError হবে।
print((-3 + 4j)**0.5)
# (1.0000000000000002+2j)
# print(math.sqrt(-3 + 4j))
# TypeError: can't convert complex to float
এছাড়াও, math.sqrt() নেতিবাচক মান প্রক্রিয়া করতে পারে না, যার ফলে একটি ValueError হয়।
print((-1)**0.5)
# (6.123233995736766e-17+1j)
# print(math.sqrt(-1))
# ValueError: math domain error
মনে রাখবেন যে জটিল সংখ্যার সাথে কাজ করার সময়, ** অপারেটর ব্যবহার করে উদাহরণটি একটি ত্রুটি দেখায়, কিন্তু cmath মডিউল আরও সঠিক মান প্রদান করে। নেতিবাচক মানও পরিচালনা করা যেতে পারে।
- সম্পর্কিত:পাইথন, জটিল সংখ্যাগুলির সাথে কাজ করার জন্য জটিল প্রকারগুলি (পরম মান, পতন, পোলার রূপান্তর ইত্যাদি)
import cmath
print(cmath.sqrt(-3 + 4j))
# (1+2j)
print(cmath.sqrt(-1))
# 1j
সূচকীয় ফাংশন (প্রাকৃতিক সূচকীয় ফাংশন):math.exp()
প্রাকৃতিক লগারিদম (নেপিয়ার নম্বর) e এর বেসের শক্তি গণনা করতে, math.exp() ব্যবহার করুন।
math.exp(x) ই এর x বর্গ প্রদান করে।
math.exp(x) “math.e ** x” এর সমতুল্য নয় এবং math.exp(x) আরও নির্ভুল।
print(math.exp(2))
# 7.38905609893065
print(math.exp(2) == math.e**2)
# False
লগারিদমিক ফাংশন:math.log(),math.log10(),math.log2()
লগারিদমিক ফাংশন গণনা করতে, math.log(),math.log10(),math.log2() ব্যবহার করুন।
math.log(x, y) বেস হিসাবে y সহ x এর লগারিদম প্রদান করে।
print(math.log(25, 5))
# 2.0
যদি দ্বিতীয় যুক্তিটি বাদ দেওয়া হয়, তাহলে প্রাকৃতিক লগারিদম নীচে দেখানো হয়েছে।
লগারিদম
গণিতে, প্রাকৃতিক লগারিদম (বেস হিসাবে নেপিয়ার সংখ্যা e সহ লগারিদম), লগ বা ln দ্বারা উপস্থাপিত, math.log(x) দ্বারা গণনা করা যেতে পারে।
print(math.log(math.e))
# 1.0
লগারিদম (বেস 10)
সাধারণ লগারিদম (বেস 10 সহ লগারিদম) গণনা করা যেতে পারে math.log10(x), যা math.log(x, 10) এর চেয়ে বেশি সঠিক।
print(math.log10(100000))
# 5.0
বাইনারি লগারিদম
বাইনারি লগারিদম (বেস 2 সহ লগারিদম) math.log2(x) দিয়ে গণনা করা যেতে পারে, যা math.log(x, 2) এর চেয়ে বেশি সঠিক।
print(math.log2(1024))
# 10.0