NumPy ஒளிபரப்பு

Numpy Oliparappu



வெவ்வேறு அளவிலான அணிவரிசைகளை எண்கணிதத்தில் சேர்க்கவோ, கழிக்கவோ அல்லது வேறுவிதமாகப் பயன்படுத்தவோ முடியாது. பெரிய வரிசையின் அதே பரிமாணங்களையும் அளவையும் கொடுக்க சிறிய வரிசையை நகலெடுப்பது ஒரு அணுகுமுறை. வரிசை எண்கணிதத்தை நடத்தும் போது, ​​NumPy ஆனது வரிசை ஒளிபரப்பு எனப்படும் ஒரு அம்சத்தை வழங்குகிறது, இது உங்கள் குறியீட்டை கணிசமாக சுருக்கவும் எளிமைப்படுத்தவும் முடியும். இந்த டுடோரியலில் வரிசை ஒளிபரப்பு பற்றிய யோசனை மற்றும் அதை NumPy இல் எவ்வாறு பயன்படுத்துவது என்பது பற்றி நீங்கள் அறிந்து கொள்வீர்கள். கூடுதலாக, பல எடுத்துக்காட்டு திட்டங்கள் வழங்கப்பட்டுள்ளன.

NumPy ஒளிபரப்பு என்றால் என்ன?

வெவ்வேறு வடிவங்களின் வரிசைகளில் எண்கணித செயல்பாடுகளைச் செய்யும்போது, ​​NumPy இதை ஒளிபரப்பு என்று குறிப்பிடுகிறது. இந்த வரிசை செயல்பாடுகள் அந்தந்த உறுப்புகளில் அடிக்கடி மேற்கொள்ளப்படுகின்றன. இரண்டு வரிசைகள் ஒரே வடிவத்தில் இருந்தால், அவற்றை எளிதாகச் செய்யலாம். இந்த கருத்து பயனுள்ளதாக இருந்தாலும், ஒலிபரப்பு எப்போதும் பரிந்துரைக்கப்படுவதில்லை, ஏனெனில் இது திறனற்ற நினைவக பயன்பாட்டில் கணக்கீட்டை மெதுவாக்கும். NumPy செயல்பாடுகள் பெரும்பாலும் வரிசை ஜோடிகளில் செய்யப்படுகின்றன, அவை உறுப்பு மூலம் உறுப்பு பிரிக்கப்படுகின்றன.

ஒளிபரப்பு விதிகள்

ஒளிபரப்பும்போது ஒரு குறிப்பிட்ட வழிகாட்டுதல்களைப் பின்பற்ற வேண்டும். இவை கீழே விவரிக்கப்பட்டுள்ளன:







  1. இரண்டு வரிசைகள் ஒரே ரேங்க் இல்லை என்றால், வரிசைகளின் இரண்டு வடிவங்களும் ஒரே நீளத்தைப் பகிர்ந்து கொள்ளும் வரை, கீழ் ரேங்க் வரிசை வடிவம் 1 வினாடிகளுடன் முன்வைக்கப்படுவது முக்கியம்.
  2. இரண்டு அணிவரிசைகள் ஒரே பரிமாண அளவைக் கொண்டிருந்தால் அல்லது அவற்றில் ஒன்று பரிமாண அளவு 1 என அமைக்கப்பட்டிருந்தால் அவை இணக்கமானதாகக் கருதப்படுகிறது.
  3. அவற்றின் அளவுகள் மற்றும் பரிமாணங்கள் பொருந்தினால் மட்டுமே வரிசைகளை ஒன்றாக ஒளிபரப்ப முடியும்.
  4. ஒளிபரப்பு முடிந்ததும், ஒவ்வொரு வரிசையும் அதன் வடிவம் இரண்டு உள்ளீட்டு வரிசைகளின் வடிவங்களில் உள்ள மிகப்பெரிய உறுப்புடன் பொருந்துவது போல் செயல்படுகிறது.
  5. மற்ற வரிசை 1 ஐ விட அதிகமாகவும், முதல் வரிசை 1 பரிமாணமாகவும் இருந்தால், வரிசைகளில் ஒன்று அந்த பரிமாணத்துடன் நகலெடுக்கப்பட்டது போல் செயல்படுகிறது.

இப்போது, ​​ஒளிபரப்பு என்ற கருத்தை செயல்படுத்துவதற்கான சில உதாரணங்களைப் பற்றி விவாதிப்போம்.



எடுத்துக்காட்டு 1:

அணிவரிசைகளின் ஜோடிகளில், NumPy செயல்பாடுகள் பொதுவாக உறுப்பு-மூலம்-உறுப்பு மூலம் மேற்கொள்ளப்படுகின்றன. இரண்டு வரிசைகளும், மிகவும் நேரடியான சூழ்நிலையில், கீழே உள்ள எடுத்துக்காட்டில் உள்ள அதே வடிவத்தைக் கொண்டிருக்க வேண்டும்:



இறக்குமதி உணர்ச்சியற்ற

ஒன்று_அர் = உணர்ச்சியற்ற. வரிசை ( [ 2.0 , 3.0 , 1.0 ] )

இரண்டு_arr = உணர்ச்சியற்ற. வரிசை ( [ 3.0 , 3.0 , 3.0 ] )

அச்சு ( one_arr * two_arr )





மேலே உள்ள குறியீட்டிலிருந்து நீங்கள் பார்ப்பது போல், எங்களிடம் இரண்டு வரிசைகள் உள்ளன: ‘one_arr’ மற்றும் ‘two_ arr’. ஒவ்வொன்றும் தனித்தனி மதிப்புகளைக் கொண்டுள்ளன. ‘one_arr’ இல் உள்ள மதிப்புகள் [2.0,3.0,1.0] மற்றும் ‘Two _arr’ ஆகும் [3.0,3.0,3.0]. இந்த இரண்டு வரிசைகளின் பலனைக் கணக்கிடுவதன் முடிவு பின்வருமாறு இருப்பதை நீங்கள் பார்க்கலாம்:



வரிசைகளின் படிவங்களால் சில தேவைகள் பூர்த்தி செய்யப்பட்டால், NumPy இன் ஒளிபரப்பு விதி இந்தக் கட்டுப்பாட்டைக் குறைக்கிறது. ஒரு செயல்பாட்டில் ஒரு வரிசை மற்றும் ஒரு அளவிடுதல் மதிப்பு இணைந்தால், ஒளிபரப்பு அதன் அடிப்படை வடிவத்தில் நிரூபிக்கப்படுகிறது. நீங்கள் பார்க்க முடியும் என, 3 ஆனது ‘Two_arr.’ என்ற மாறியில் உள்ளது.

இறக்குமதி உணர்ச்சியற்ற

ஒன்று_அர் = உணர்ச்சியற்ற. வரிசை ( [ 2.0 , 3.0 , 1.0 ] )

இரண்டு_arr = 3.0

அச்சு ( one_arr * two_arr )

மேலே உள்ள குறியீடு பின்வரும் முடிவை உருவாக்குகிறது.

முந்தைய எடுத்துக்காட்டில், 'two_arr' ஒரு வரிசையாக இருந்தால், விளைவு சமமாக இருக்கும். எண்கணிதச் செயல்பாட்டின் போது ‘wo_arr’ என்ற அளவுகோல் விரிவடைந்து, ‘one _arr’ போன்ற அதே வடிவத்தைக் கொண்ட வரிசையாக விரிவடைவதைப் படம்பிடிக்கலாம். ‘two_arr’ அணியில் புதிய கூறுகள் உள்ளன, அவை முதல் அளவுகோலின் நகல்களாகும். நீட்சி ஒப்பீடு வெறும் கற்பனையானது. ஒலிபரப்பு செயல்பாடுகளை நினைவகமாகவும், கணக்கீட்டு ரீதியாக சிக்கனமானதாகவும் செய்ய, NumPy நகல்களை உருவாக்குவதற்குப் பதிலாக அசல் அளவிடுதல் மதிப்பைப் பயன்படுத்த போதுமானது.

எடுத்துக்காட்டு 2:

இதோ மற்றொரு எளிய Python நிரல் ஒளிபரப்பு செய்கிறது. மீண்டும், வெவ்வேறு மதிப்புகளைக் கொண்ட இரண்டு அணிவரிசைகள் உருவாக்கப்படுகின்றன. வெளிப்புறத் தயாரிப்பைக் கணக்கிடுவதற்கு, 3×1 வடிவத்துடன் நெடுவரிசை வெக்டராக ‘first_arr’ஐ மறுவடிவமைப்பது அவசியம். இதைத் தொடர்ந்து, 'first_arr' மற்றும் 'second_arr' இன் வெளிப்புற தயாரிப்பு எனப்படும் அளவு 3×2 இன் முடிவை வழங்க 'second_arr' க்கு எதிராக ஒளிபரப்பு செய்யப்படுகிறது. 'result_arr' வடிவம் 2 இருப்பதால் 2×3 க்கு ஒளிபரப்புவது சாத்தியமாகும். ×3 மற்றும் வடிவம் (3,).

மேலே குறிப்பிடப்பட்ட அனைத்து படிகளையும் பின்பற்றிய பிறகு, 'result_arr' மற்றும் 'second_arr' ஆகிய மெட்ரிக்குகளின் ஒவ்வொரு நெடுவரிசையிலும் ஒரு திசையன் சேர்க்கப்பட வேண்டும். இவை 2×3 மற்றும் (2, ) பரிமாணங்களைக் கொண்டுள்ளன. 'result_arr' ஐ இடமாற்றம் செய்வது 3×2 வடிவத்தை வழங்கும், பின்னர் அதே படிவத்தைப் பெற 'second_arr' க்கு எதிராக ஒளிபரப்பப்படும். பொதுவாக, இதை இடமாற்றம் செய்வது 2×3 வடிவில் இறுதிப் பொருளைப் பெறுகிறது.

இறக்குமதி உணர்ச்சியற்ற

முதல்_arr = உணர்ச்சியற்ற. வரிசை ( [ 12 , 24 , 14 ] )

இரண்டாவது_arr = உணர்ச்சியற்ற. வரிசை ( [ பதினைந்து , 22 ] )

அச்சு ( உணர்ச்சியற்ற. மறுவடிவம் ( முதல்_arr , ( 3 , 1 ) ) * second_arr )

முடிவு_arr = உணர்ச்சியற்ற. வரிசை ( [ [ 12 , 22 , 31 ] , [ பதினைந்து , 22 , நான்கு. ஐந்து ] ] )

அச்சு ( result_arr + first_arr )

அச்சு ( ( முடிவு_arr. டி + second_arr ) . டி )

அச்சு ( result_arr + நம்பி. மறுவடிவம் ( இரண்டாவது_arr , ( இரண்டு , 1 ) ) )

அச்சு ( result_arr * இரண்டு )

கீழே உள்ள வெளியீட்டை நீங்கள் பார்க்கலாம்.

எடுத்துக்காட்டு 3:

பின்வரும் பைதான் நிரலைப் பயன்படுத்தி முப்பரிமாண வரிசையை ஒளிபரப்பலாம். இந்த எடுத்துக்காட்டில், 'first_arr' மற்றும் 'second_arr' என்ற இரண்டு வரிசைகள் உருவாக்கப்பட்டுள்ளன. ‘first_arr’ என்ற வரிசையில் [4,13,26,12] மதிப்புகளும், ‘second_arr’ இல் [32,67,45,17] மதிப்புகளும் உள்ளன. ஆரம்ப வரிசையின் 2-பரிமாணங்கள் வித்தியாசத்தை ஏற்படுத்துகின்றன. குறியீடு செயல்படுத்தப்பட்ட பிறகு முதல் மற்றும் இரண்டாவது வரிசையின் கூட்டுத்தொகை கீழே காட்டப்படும். குறியீட்டில் மூன்று அச்சு அறிக்கைகள் இருப்பதை நீங்கள் பார்க்கலாம், ஒவ்வொன்றும் 'முதல் வரிசை:', 'இரண்டாவது வரிசை' மற்றும் 'மூன்றாவது வரிசை:' என்ற உரையைக் காண்பிக்கும். புதிதாக உருவாக்கப்பட்ட இந்த இரண்டு அணிவரிசைகளின் கூட்டுத்தொகை பின்னர் காட்டப்படும்.

இறக்குமதி உணர்ச்சியற்ற

முதல்_arr = உணர்ச்சியற்ற. வரிசை ( [ [ 4 , 13 , 26 , 12 ] , [ 32 , 67 , நான்கு. ஐந்து , 17 ] ] )

இரண்டாவது_arr = உணர்ச்சியற்ற. வரிசை ( [ 24 , நான்கு. ஐந்து , 66 , 87 ] )

அச்சு ( ' \n முதல் வரிசை: ' )

அச்சு ( முதல்_arr )

அச்சு ( ' \n இரண்டாவது வரிசை: ' )

அச்சு ( இரண்டாவது_arr )

அச்சு ( ' \n முதல் மற்றும் இரண்டாவது வரிசையின் கூட்டுத்தொகை: ' )

தொகை_முடிவு = first_arr + second_arr ;

அச்சு ( தொகை_முடிவு )

கொடுக்கப்பட்ட குறியீட்டின் வெளியீட்டு ஸ்கிரீன்ஷாட் இங்கே உள்ளது.

எடுத்துக்காட்டு 4:

முப்பரிமாண வரிசையை ஒளிபரப்பும் கடைசி பைதான் நிரல் இங்கே கொடுக்கப்பட்டுள்ளது. இந்த நிரலில் இரண்டு வரிசைகள் குறிப்பிடப்பட்டுள்ளன, அவற்றில் முதலாவது மூன்று பரிமாணங்களைக் கொண்டுள்ளது. குறியீடு செயல்படுத்தப்பட்ட பிறகு மேலே காட்டப்பட்டுள்ளபடி முதல் மற்றும் இரண்டாவது வரிசையின் கூட்டுத்தொகை காட்டப்படும். இந்த அணிவரிசைகளில் உள்ள மதிப்புகள் வேறுபட்டாலும், மீதமுள்ள குறியீடு மேலே உள்ள எடுத்துக்காட்டு நிரலில் பயன்படுத்தப்பட்டதைப் போலவே இருக்கும்.

இறக்குமதி உணர்ச்சியற்ற

முதல்_arr = உணர்ச்சியற்ற. வரிசை ( [ [ 12 , நான்கு. ஐந்து , 22 , 13 ] , [ 22 , 54 , 25 , 12 ] , [ ஐம்பது , 40 , 18 , 26 ] ] )

இரண்டாவது_arr = உணர்ச்சியற்ற. வரிசை ( [ 12 , 44 , 22 , 12 ] )

அச்சு ( ' \n முதல் வரிசை: ' )

அச்சு ( முதல்_arr )

அச்சு ( ' \n இரண்டாவது வரிசை: ' )

அச்சு ( இரண்டாவது_arr )

அச்சு ( ' \n முதல் மற்றும் இரண்டாவது வரிசையின் கூட்டுத்தொகை: ' )

தொகை_முடிவு = first_arr + second_arr ;

அச்சு ( தொகை_முடிவு )

முதல் வரிசையில் இருந்து 3-பரிமாண வரிசை வழங்கப்படுவதையும், அதைத் தொடர்ந்து இரண்டாவது வரிசையிலிருந்து 2-பரிமாண வரிசையையும், இவை இரண்டும் ஒளிபரப்பு கொள்கையைப் பயன்படுத்துவதன் விளைவாக இருப்பதையும் கீழே உள்ள படத்தில் காணலாம்.

முடிவுரை

இந்த கட்டுரை ஒளிபரப்பு பற்றி விவாதித்தது, ஒரு முக்கியமான பைதான் கருத்து. NumPy இல், 'ஒளிபரப்பு' என்பது அடிக்கடி செய்யப்படும் எண்கணித செயல்பாடுகளைச் செய்யும்போது பல்வேறு வடிவங்களின் வரிசைகளைக் கையாளும் திறனைக் குறிக்கிறது. மேற்கூறிய விடயம் பல்வேறு எடுத்துக்காட்டுகளுடன் முழுமையாக உள்ளடக்கப்பட்டுள்ளது. 1-D, 2-D மற்றும் 3-D வரிசைகளில் முறையே ஒளிபரப்புவது எப்படி என்பதை விளக்குவதற்கு, இந்த கட்டுரை குறிப்பிடப்பட்ட எடுத்துக்காட்டு நிரல்களைப் பயன்படுத்தியது. உங்கள் கணினியில் இந்த எடுத்துக்காட்டுகளை இயக்க முயற்சி செய்யலாம் மற்றும் பொதுவாக அனைத்தும் எவ்வாறு செயல்படுகின்றன என்பதை நன்கு புரிந்துகொள்ள முடிவுகளைப் பார்க்கலாம்.