مرجع
آخر الزيارات

نمباي

450 كلمة•0 مشاهدة•🗒️ منذ 8 أيام
باختصار: نمباي (بالإنجليزية: نمباي) هي إضافة على لغة البرمجة بايثون، تٌستعمل للتعامل مع المصفوفات الكبيرة والحقول متعددة المستوى، وكذلك توفر مكتبة كبيرة من الاقترانات الرياضية عالية المستوى للعمل على هذه الحقول والمصفوفات. تتناول المقالة 14 قسماً، منها «>>> x»، «>>> import numpy as np» و«>>> a**2».
المحتويات
  1. >>> x
  2. >>> import numpy as np
  3. >>> a**2
  4. [ 2. , 4. , 9. ],
  5. الخواص
  6. إقترانات
  7. >>> y
  8. الحقول متعددة المستويات ndarray
  9. >>> c
  10. [ 9.24410671, 5.5240412 , 10.6468792 ],
  11. العمليات الأساسية
  12. [ 9.24410671, 5.5240412 , 10.6468792 ],
  13. [ 1.04519774, -0.56497175, 0.1299435 ],
  14. >>> from numpy.linalg import solve, inv
نمباي

تعريفًا بالموضوع، نمباي (بالإنجليزية: نمباي) هي إضافة على لغة البرمجة بايثون، تٌستعمل للتعامل مع المصفوفات الكبيرة والحقول متعددة المستوى، وكذلك توفر مكتبة كبيرة من الاقترانات الرياضية عالية المستوى للعمل على هذه الحقول والمصفوفات. ونتناول فيما يلي مزيدًا من التفاصيل.

وفي هذا السياق، فكرة نمباي جاءت من الإضافة جيم هوغنن والتي كانت في الأساس مطورة من قِبَل جيم هيوجيونين. وفي سنة 2005 قام ترافياس أوليفانت بإنشاء نمباي بميزات ال Numeric وبإضافات واسعة عليها. يٌذكر أن نمباي هي من البرمجيات مفتوحة المصدر.

>>> x

array([1, 2, 3])

في هذا الإطار، >>> y = np.arange(10) # مثل الاقتران نفسه في بايثون ولكن يعطي حقل كمٌخرج

>>> import numpy as np

>>> x = np.array([1, 2, 3])

>>> a**2

array([ 1, 4, 9, 36])

[ 2. , 4. , 9. ],

  • [ 3. , 6.7, 5.)
  • >>> inv(a)
  • array(-2.27683616, 0.96045198, 0.07909605],

الخواص

ومن ناحية أخرى، نمباي يقوم بتنفيذ أوامره من خلال مترجم سي بايثون، وبالتالي فإن الخوارزميات الرياضية المكتوبة بهذا الإصدار من بايثون غالباً يتم تنفيذها بشكل أبطأ. يقوم نمباي بالتغلب على هذه المشكلة من خلال تزويد حقول متعددة المستوى وإقترانات تتعامل بكفائة مع هذه الحقول. لذلك فإن أي خوارزمية يمكن كتابتها على شكل إقتران على مصفوفات أو حقول متعددة المستوى، يمكن أن تتم بنفس السرعة كما لو أنها مكتوبة بلغة سي.

كذلك، استخدام نمباي في بايثون يعطي وظائف مماثلة مثل الوظائف الموجودة في ماتلاب، وكلاهما يسمح للمستعمل بكتابة برامج بسرعة، لطالما أن هذه البرامج تعمل على الحقول أو المصفوفات.

إقترانات

  • >>> a = np.linspace(-np.pi, np.pi, 100)
  • >>> b = np.sin(a)
  • >>> c = np.cos(a)
  • جبر خطي
  • >>> from numpy.random import rand

>>> y

array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

الحقول متعددة المستويات ndarray

إنشاء حقل

أمثلة

ومن ناحية أخرى، الجوهر الأساسي لنمباي هي الحقول متعددة المستويات (ndarray: n-dimensional array). بالمقارنة مع الحقول الموجودة مسبقاً في بايثون (محتوياتها ليست من نفس النوع)، فإن ال ndarray تحوي على محتويات من نفس النوع(مثلاً عدد صحيح أو نص).

>>> c

array([ 1. , 1.33333333, 1.66666667, 4. ])

[ 9.24410671, 5.5240412 , 10.6468792 ],

  • [ 10.38136661, 8.44968437, 15.17639591)
  • >>> np.dot(a, c) # matrix multiplication
  • array(3.98732789, 2.47702609, 4.71167924],

العمليات الأساسية

  • >>> a = np.array([1, 2, 3, 6])
  • >>> b = np.linspace(0, 2, 4) # يقوم بإنشاء حقل من أربع نقاط تبدأ ب 0 وتنتهي ب 2
  • >>> c = a - b

[ 9.24410671, 5.5240412 , 10.6468792 ],

  • [ 10.38136661, 8.44968437, 15.17639591)
  • قراءة إضافية
  • انظر كذلك
  • لغة بايثون
  • ماتلاب
  • وصلات خارجية
  • الموقع الرئيسي
  • تاريخ نمباي

[ 1.04519774, -0.56497175, 0.1299435 ],

  • [ 0.39548023, 0.05649718, -0.11299435)
  • >>> b = np.array([3, 2, 1])
  • >>> solve(a, b) # solve the equation ax = b
  • array([-4.83050847, 2.13559322, 1.18644068])
  • >>> c = rand(3, 3) # create a 3x3 random matrix
  • >>> c
  • array(3.98732789, 2.47702609, 4.71167924],

>>> from numpy.linalg import solve, inv

  • >>> a = np.array(1, 2, 3], [3, 4, 6.7], [5, 9.0, 5)
  • >>> a.transpose
  • array(1. , 3. , 5. ],

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.