اذهب إلى المحتوى
  • 0

كيفية الحصول على ناتج ضرب هادامار (Hadamard Product) في numpy؟

Amer Abdallah

السؤال

لدي مصفوفتين كالتالي:

>>> import numpy as np
>>> x = np.matrix([[1, 2], [5, 6]])
>>> y = np.matrix([[3, 4], [7, 8]])

وأريد حساب ناتج ضرب هادامار Hadamard Product (يعرف أيضًا بـ element-wise product)، والذي يتم عبر ضرب المصفوفتين بالشكل التالي:

[ [1*3, 2*4], [5*7, 6*8] ] 

# أو ما يساوي
[ [3, 8], [35, 48] ]

حاولت أن أستعمل دالة dot و ضرب المصفوفتين مباشرة:

print(np.dot(x, y)) 
print(x * y)

ولكن كلا الطريقتين أخرجت النتيجة التالي:

[[17 20]
 [57 68]]

وهو حاصل ضرب المصفوفة، وليس ناتج ضرب هادامار. كيف يمكنني الحصول على element-wise product (المعروف أيضًا باسم Hadamard product) باستخدام مكتبة Numpy؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 3

يمكن استخدام الدالة numpy.multiply كالتلي:

import numpy as np
a = np.array([[1,2],[3,4]])
b = np.array([[5,6],[7,8]])
np.multiply(a,b)
"""
array([[ 5, 12],
       [21, 32]])
"""

كما ويمكنك استخدام المعامل *:

import numpy as np
a = np.array([[1,2],[3,4]])
b = np.array([[5,6],[7,8]])
a*b
"""
array([[ 5, 12],
       [21, 32]])
"""

 

تم التعديل في بواسطة Ali Haidar Ahmad
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...