نمپی کمپلیکس نمبر

Nmpy Kmplyks Nmbr



ہم جانتے ہیں کہ پیچیدہ اعداد وہ ہوتے ہیں جن کی نمائندگی روایتی a+bi سے ہوتی ہے، جہاں 'a' ہمیشہ ایک حقیقی نمبر ہوتا ہے۔ 'b' بھی ایک حقیقی نمبر ہے لیکن 'i' ایک خیالی جز ہے۔ ایک اور چیز جو ہم جانتے ہیں وہ ہے 'i^2 = -1' کیونکہ حقیقی اعداد میں سے کوئی بھی اس مساوات کو پورا نہیں کر سکتا جسے ہم 'I' ایک خیالی حصہ کہتے ہیں۔ Numpy حقیقی نمبروں کے ساتھ ساتھ خیالی نمبروں کی بھی حمایت کرتا ہے۔ NumPy میں، خیالی اعداد کو 'j' سے ظاہر کیا جاتا ہے۔ پیچیدہ نمبروں جیسے np.complex(), np.range(), np.array()، اور بہت کچھ والی صفوں کو بنانے اور ان میں ہیرا پھیری کرنے کے مختلف طریقے ہیں۔

نحو

پیچیدہ نمبروں پر مشتمل صف بنانے کا نحو درج ذیل ہے:

طریقہ 1:

1j * np. بندوبست ( سائز )

1j کے اوپر دیا گیا نحو خیالی حصہ ہے جس کا مطلب ہے کہ ہم پیچیدہ نمبروں کی ایک صف بنا رہے ہیں، جہاں np.arrang وہ فنکشن ہے جو NumPy کی طرف سے ایک مخصوص رینج میں ایک صف بنانے کے لیے فراہم کیا جاتا ہے۔ سائز، جو سرنی کے سائز کی نشاندہی کرتا ہے، فنکشن کو دیا جاتا ہے۔







طریقہ 2:

جیسے صف ( [ Re+Re*Im , Re+Re*Im , ] )

اس نحو میں، np.arrray وہ فنکشن ہے جو ہمیں ایک صف بنانے کے قابل بناتا ہے لیکن ہم اس کی حد کو منتقل نہیں کر سکتے۔ ہم اسے 'n' اوقات میں صرف اقدار منتقل کرتے ہیں۔ فنکشن میں، ہم نے 'Re' کو پاس کیا جو حقیقی نمبروں کی نشاندہی کرتا ہے جو انہیں حقیقی نمبر کے کثیر میں ایک خیالی نمبر 'Im' میں شامل کرتا ہے۔ ہم خیالی اقدار کو n اوقات میں منتقل کر سکتے ہیں۔



مثال نمبر 01:

جیسا کہ ہم جانتے ہیں کہ NumPy پیچیدہ نمبروں کو بھی سپورٹ کرتا ہے اور پیچیدہ نمبروں کو لاگو کرنے اور ان میں ہیرا پھیری کرنے کے لیے متعدد قسم کے طریقے فراہم کرتا ہے۔ ذیل کی مثال میں، ہم پیچیدہ نمبروں پر مشتمل ارے بنانے کے دو طریقے استعمال کریں گے۔ NumPy فنکشنز کو نافذ کرنے کے لیے، آئیے پہلے NumPy لائبریری کو بطور np درآمد کریں۔ پھر، ہم 'array_a' نامی ایک اری شروع کریں گے جس کو ہم فنکشن np.arange() تفویض کریں گے جس میں پیچیدہ نمبر ہوں گے۔ اور صف کی رینج '8' ہوگی۔ اگلی لائن میں، ہم نے 'array_b' کے نام سے ایک اور اری بنائی جس میں ہم نے پیچیدہ نمبروں کی ایک صف کو پیچیدہ اقدار کو براہ راست منتقل کر کے اس میں منتقل کیا۔ آخر میں، ہم نے پیچیدہ صف کو پرنٹ کیا جسے ہم نے دونوں طریقوں کا استعمال کرتے ہوئے بنایا تھا۔



درآمد بے حس کے طور پر جیسے

array_a = 1j * np. بندوبست ( 8 )

array_b = جیسے صف ( [ دو +1d , 3 +4j , 5 +2j , 1 +6j ] )

پرنٹ کریں ( 'Arange() فنکشن کا استعمال کرتے ہوئے پیچیدہ صف' , array_a )

پرنٹ کریں ( 'np.array() فنکشن کا استعمال کرتے ہوئے پیچیدہ صف' , array_b )





جیسا کہ ذیل کے ٹکڑوں میں دکھایا گیا ہے وہ اس کوڈ کا نتیجہ ہے جو ہم نے عمل میں لایا ہے۔ ہم دیکھ سکتے ہیں کہ ہم نے دو صفیں بنائی ہیں جن میں 0j سے 7j تک پیچیدہ اعداد کی ایک رینج ہے۔ دوسرے میں، ہم نے سائز 4 کے پیچیدہ اعداد کی بے ترتیب رینج کو عبور کر لیا ہے۔



طریقہ 3:

جیسے پیچیدہ ( Re+Re*Im )

اوپر دیے گئے نحو میں، np.complex() بلٹ ان کلاس ہے جو Python پیکیج NumPy کے ذریعے فراہم کی گئی ہے جو ہمیں پیچیدہ اقدار کو ذخیرہ کرنے کے قابل بناتی ہے۔

مثال نمبر 02:

NumPy پیچیدہ صف بنانے کا دوسرا طریقہ NumPy کی پیچیدہ() کلاس کا استعمال کرنا ہے۔ Complex class() پیچیدہ نمبروں کو ذخیرہ کرنے کے لیے استعمال کیا جاتا ہے اور وہ پیچیدہ آبجیکٹ واپس کرتا ہے جسے ہم ایک کوڈ میں متعدد بار استعمال کر سکتے ہیں۔ اب پیچیدہ() کلاس کو لاگو کرتے ہوئے، ہم سب سے پہلے اپنا نمپی پیکج درآمد کریں گے۔ اس کے بعد، ہم ایک ایسی صف شروع کریں گے جس میں ہم نے ایک پیچیدہ کلاس پاس کی ہے جو کمپلیکس () کلاس کے کسی آبجیکٹ کو پاس کرنے کے لیے ستارہ '*' کا استعمال کرتی ہے جس میں ہم نے '3+1j' پاس کیا ہے۔ arrange() فنکشن کا استعمال کرتے ہوئے، ہم نے سائز 5 کی ایک اری بنائی۔ آخر میں، ہم نے صرف کوڈ کا آؤٹ پٹ دکھایا جس میں ہم نے complex() کلاس کا استعمال کرتے ہوئے ایک پیچیدہ اری بنائی۔

درآمد بے حس کے طور پر جیسے

صف = جیسے پیچیدہ ( 3 +1d ) *مثلاً بندوبست ( 5 )

پرنٹ کریں ( 'np.complex() کلاس کا استعمال کرتے ہوئے پیچیدہ صف' , صف )

جیسا کہ نیچے دی گئی تصویر میں دکھایا گیا ہے، ہم نے پیچیدہ اعداد کی ایک صف بنائی ہے۔ لیکن ایک اور چیز جو ہم اعداد و شمار میں دیکھ سکتے ہیں وہ یہ ہے کہ مستقل قدر کو لگاتار نہیں لگایا جا رہا ہے کیونکہ ہم نے '3+1j' کو کمپلیکس () کلاس میں پاس کیا ہے جس کا مطلب ہے کہ ہر اگلی مستقل قدروں میں نمبر تین کا اضافہ کیا جائے گا۔

طریقہ 4:

جیسے والے ( شکل , dtype = کوئی نہیں۔ , ترتیب = 'سی' , * , پسند = کوئی نہیں۔ )

اس طریقہ np.ones() میں، ہم NumPy سرنی میں dtype پیرامیٹر کا استعمال کرتے ہوئے پیچیدہ نمبروں کی ایک صف کی وضاحت کرتے ہیں۔ Np.ones() کا استعمال ایک نئی صف کو واپس کرنے کے لیے کیا جاتا ہے جس میں 1s ہوتا ہے۔ فنکشن np.ones() میں، ہم نے چار پیرامیٹرز 'شکل' کو پاس کیا، جو کہ ارے کی شکل کی وضاحت کے لیے استعمال کیا جاتا ہے کہ آیا یہ '2'، '3' ہے یا کوئی اور۔ 'dtype' ڈیٹا کی قسم ہے۔ ہمارے معاملے میں ہم ایک پیچیدہ ڈیٹا ٹائپ استعمال کریں گے۔ 'آرڈر' اس بات کی وضاحت کرتا ہے کہ آیا صف ایک جہتی، دو، یا کثیر جہتی ہے۔

مثال نمبر 03:

آئیے ہم ones() طریقہ کو لاگو کرتے ہیں تاکہ ایک بہتر اندازہ حاصل کیا جا سکے کہ یہ پیچیدہ نمبروں کو استعمال کرتے ہوئے کیسے کام کرتا ہے۔ اس طریقہ کو نافذ کرنے کے لیے، آئیے پہلے اپنے NumPy کے پیکجز درآمد کریں جو Python کے ذریعے فراہم کیے گئے ہیں۔ اگلا، ہم ایک صف بنائیں گے جس میں ہم np.ones() فنکشن کو پاس کریں گے جس میں ہم نے دو پیرامیٹرز پاس کیے ہیں۔ پہلا '4' ہے جس کا مطلب ہے کہ ارے کا سائز 4 ہوگا اور دوسرا 'dtype' ہے جو پیچیدہ ہے۔ اس کا مطلب ہے، ہم ڈیٹا ٹائپ کمپلیکس نمبروں کی ایک صف بنانے جا رہے ہیں۔ ones() فنکشن کو '2' ویلیو سے ضرب دینے کا مطلب ہے کہ ہمارا اصل نمبر '2' ہوگا۔ آخر میں، ہم نے اس صف کو پرنٹ کیا جسے ہم نے پرنٹ اسٹیٹمنٹ کا استعمال کرتے ہوئے بنایا تھا۔

درآمد بے حس کے طور پر جیسے

صف = جیسے والے ( 4 , dtype = پیچیدہ ) * دو

پرنٹ کریں ( 'np.ones() فنکشن کا استعمال کرتے ہوئے پیچیدہ صف' , صف )

جیسا کہ ذیل میں دکھایا گیا ہے، ہمارے کوڈ کی آؤٹ پٹ کو کامیابی کے ساتھ انجام دیا گیا ہے جس میں ہمارے پاس ایک جہتی صف ہے جس میں حقیقی نمبر 2 کے ساتھ 4 پیچیدہ اقدار ہیں۔

مثال نمبر 04:

آئیے اب ایک اور مثال پر عمل کرتے ہیں جس میں ہم پیچیدہ نمبروں کی ایک صف بنائیں گے اور پیچیدہ نمبروں کے خیالی اور حقیقی حصوں کو پرنٹ کریں گے۔ ہم سب سے پہلے NumPy لائبریری کو درآمد کریں گے، پھر ایک سرنی بنائیں گے جس میں ہم نے '6' پیچیدہ قدروں کو 'array' نامی صف میں منتقل کیا ہے جو کہ '56+0j، 27+0j، 68+0j، 49+0j، 120+0j ہے ، 4+0j'۔ اگلی لائن میں، ہم نے صرف صف کو پرنٹ کیا۔ اب، ہم پیچیدہ صف کی خیالی اور حقیقی اقدار پرنٹ کرتے ہیں۔

Numpy دونوں کارروائیوں کے لیے ایک بلٹ ان فنکشن فراہم کرتا ہے جو نیچے دکھائے گئے ہیں۔ خیالی حصہ حاصل کرنے والا پہلا 'array_name.imag' ہے جہاں ڈاٹ سے پہلے کی قدر وہ ارے ہے جس سے ہمیں خیالی حصہ حاصل کرنا ہے۔ اور اصل حصہ حاصل کرنے والا دوسرا 'array_name.real' ہے۔ ہمارے معاملے میں، ایک سرنی کا نام 'سری' ہے لہذا ہم نے دونوں عناصر کو حاصل کرنے کے لیے پرنٹ اسٹیٹمنٹ، ارے کا نام، اور کلیدی لفظ پاس کیا۔

درآمد بے حس کے طور پر جیسے

صف = جیسے صف ( [ 56 .+ 0 . جے , 27 .+ 0 . جے , 68 .+ 0 . جے , 49 .+ 0 . جے , 120 .+ 0 . جے , 3 + 4 . جے ] )

پرنٹ کریں ( 'اصلی صف:x' , صف )

پرنٹ کریں ( 'سرنی کا حقیقی حصہ:' )

پرنٹ کریں ( صف . حقیقی )

پرنٹ کریں ( 'سلنی کا خیالی حصہ:' )

پرنٹ کریں ( صف . تصویر )

جیسا کہ ذیل کے ٹکڑوں میں دکھایا گیا ہے، وہ آؤٹ پٹ جس میں پیچیدہ صف کے خیالی اور حقیقی حصے کو کامیابی کے ساتھ انجام دیا گیا ہے۔ جہاں حقیقی حصے '56'، '27'، '68'، '120'، اور '3' ہیں۔ اور خیالی حصے '0's' ہیں۔

نتیجہ

اس مضمون میں، ہم نے مختصراً پیچیدہ نمبروں پر تبادلہ خیال کیا ہے اور ہم NumPy کے بلٹ ان فنکشنز کا استعمال کرتے ہوئے پیچیدہ صفوں کو کیسے بنا سکتے ہیں۔ ہم نے متعدد فنکشنز کو بیان کیا ہے جو ہمیں بہتر طور پر سمجھنے کے لیے متعدد مثالوں کو لاگو کرکے پیچیدہ صفوں کو بنانے کے قابل بناتے ہیں۔