ریاضی کے فنکشنز کے لیے Python کے معیاری ماڈیول کا استعمال کرتے ہوئے، آپ ایکسپونینشل اور لوگارتھمک فنکشنز (قدرتی لوگارتھم، عام لوگارتھم، اور بائنری لوگارتھم) کا حساب لگا سکتے ہیں۔
ذیل میں نمونہ کوڈ کے ساتھ وضاحت کی گئی ہے۔
- قدرتی لوگارتھم کی بنیاد (نیپئر نمبر):
math.e - طاقت::
**آپریٹر,pow(),math.pow() - مربع جڑ (جڑ):
math.sqrt() - ایکسپونیشنل فنکشن (قدرتی ایکسپونیشنل فنکشن):
math.exp() - ایک لوگارتھمک فنکشن:
math.log(),math.log10(),math.log2()
قدرتی لوگارتھم کی بنیاد (نیپئر نمبر):math.e
قدرتی لوگارتھم (نیپئر نمبر) کی بنیاد ریاضی کے ماڈیول میں ایک مستقل کے طور پر فراہم کی جاتی ہے، جسے math.e سے ظاہر کیا جاتا ہے۔
import math
print(math.e)
# 2.718281828459045
پاور: ** آپریٹر، pow(), math.pow():**آپریٹر,pow(),math.pow()
طاقتوں کی گنتی کرنے کے لیے، یا تو ** آپریٹر، بلٹ ان فنکشن pow()، یا math.pow() استعمال کریں۔
x کا y مربع درج ذیل حاصل کیا جاتا ہے۔
x**ypow(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
Python بلٹ ان فنکشن pow() تیسری دلیل، pow(x, y, z) کی بھی اجازت دیتا ہے، جو z کے بقیہ (بقیہ) کو x کی y-پاور میں لوٹاتا ہے۔ یہ 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()
قدرتی لوگارتھم (نیپیئر نمبر) ای کی بنیاد کی طاقت کا حساب لگانے کے لیے، math.exp() استعمال کریں۔
math.exp(x) e کا 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 کے ساتھ لوگارتھم) جس کی نمائندگی log یا 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


