logo

numpy.dot() في بايثون

توفر الوحدة النمطية numpy في Python وظيفة لتنفيذ المنتج النقطي لصفيفين.

  • إذا كانت المصفوفتان 'a' و'b' عبارة عن صفائف أحادية البعد، فإن الدالة dot()‎ تنفذ المنتج الداخلي للمتجهات (بدون اقتران معقد).
  • إذا كانت المصفوفتان 'a' و'b' عبارة عن صفائف ثنائية الأبعاد، فستقوم الدالة dot()‎ بتنفيذ عملية ضرب المصفوفة. ولكن بالنسبة لضرب المصفوفات، استخدم حصيرة أو 'أ' @ 'ب' هو المفضل.
  • إذا كان 'a' أو 'b' ذو بعد 0 (عددي)، فإن الدالة dot() تقوم بإجراء الضرب. كما أن استخدام numpy.multiply (أ، ب) أو أ * ب الطريقة المفضلة.
  • إذا كانت 'a' عبارة عن مصفوفة ذات بعد N و'b' عبارة عن مصفوفة ذات بعد واحد، فإن الدالة dot()‎ تنفذ حاصل الضرب الإجمالي على المحور الأخير من a وb.
  • إذا كانت 'a' عبارة عن مصفوفة ذات أبعاد M و'b' عبارة عن مصفوفة ذات أبعاد N (حيث N>=2)، فإن الدالة dot()‎ تقوم بتنفيذ مجموع المنتج على المحور الأخير من 'a' والثاني -إلى المحور الأخير من 'ب':
 dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n]) 

بناء الجملة

 numpy.dot(a, b, out=None) 

حدود

ج: array_like

تحدد هذه المعلمة المصفوفة الأولى.

ب: array_like

جافا يلقي شار إلى السلسلة

تحدد هذه المعلمة المصفوفة الثانية.

خارج: ndarray (اختياري)

إنها حجة الإخراج. يجب أن يحتوي على النوع الدقيق الذي سيتم إرجاعه في حالة عدم استخدامه. على وجه الخصوص، يجب أن يفي بميزة الأداء، أي أنه يجب أن يحتوي على النوع الصحيح، أي يجب أن يكون متجاورًا مع C، ويجب أن يكون dtype هو dtype الذي سيتم إرجاعه للنقطة (a,b). وبالتالي، إذا لم يستوف هذه الشروط المحددة، فإنه يثير استثناء.

سلسلة عكسية في جافا

عائدات

تقوم هذه الدالة بإرجاع المنتج النقطي لـ 'a' و'b'. تُرجع هذه الدالة عددًا قياسيًا إذا كان 'a' و'b' كلاهما عدديًا أو أحادي البعد؛ وإلا فإنه يقوم بإرجاع مصفوفة. إذا أعطيت 'الخروج' ، فسيتم إرجاعها.

يرفع

ال خطأ القيمة يحدث عندما لا يكون البعد الأخير من 'a' بنفس حجم البعد الثاني إلى الأخير من 'b'.

مثال 1:

 import numpy as np a=np.dot(6,12) a 

انتاج:

 72 

مثال 2:

 import numpy as np a=np.dot([2j, 3j], [5j, 8j]) a 

انتاج:

 (-34+0j) 

مثال 3:

 import numpy as np a = [[1, 2], [4, 1]] b = [[4, 11], [2, 3]] c=np.dot(a, b) c 

انتاج:

تحويل int إلى سلسلة Java
 array([[ 8, 17], [18, 47]]) 

في الكود أعلاه

  • لقد قمنا باستيراد numpy بالاسم المستعار np.
  • لقد أنشأنا مصفوفتين ثنائي الأبعاد أ ' و ' ب '.
  • لقد أعلنا المتغير ' ج 'وتم تعيين القيمة التي تم إرجاعها لـ np.dot() وظيفة.
  • وأخيرًا، حاولنا طباعة قيمة ' ج '.

في الإخراج، يظهر منتج المصفوفة كمصفوفة.

مثال 4:

 import numpy as np x = np.arange(3*4*5*6).reshape((3,4,5,6)) y = np.arange(3*4*5*6)[::-1].reshape((5,4,6,3)) p=np.dot(a, b)[2,3,2,1,2,2] q=sum(a[2,3,2,:] * b[1,2,:,2]) p q 

انتاج:

 499128 499128 

في الكود أعلاه

جافا مقابل سي ++
  • لقد قمنا باستيراد numpy بالاسم المستعار np.
  • لقد أنشأنا مصفوفتين أ ' و ' ب ' استخدام np.arange() وظيفة وتغيير شكل كل من المصفوفات باستخدام وظيفة reshape ().
  • لقد أعلنا المتغير ' ج 'وتم تعيين القيمة التي تم إرجاعها لـ np.dot() وظيفة
  • وأخيرًا، حاولنا طباعة ' ج ' قيمة.

في الإخراج، يظهر منتج المصفوفة كمصفوفة.