Amer Abdallah نشر 16 أغسطس 2021 أرسل تقرير نشر 16 أغسطس 2021 لدي مصفوفتين كالتالي: >>> 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؟ 1 اقتباس
3 Ali Haidar Ahmad نشر 16 أغسطس 2021 أرسل تقرير نشر 16 أغسطس 2021 (معدل) يمكن استخدام الدالة 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]]) """ تم التعديل في 16 أغسطس 2021 بواسطة Ali Haidar Ahmad 2 اقتباس
السؤال
Amer Abdallah
لدي مصفوفتين كالتالي:
وأريد حساب ناتج ضرب هادامار Hadamard Product (يعرف أيضًا بـ element-wise product)، والذي يتم عبر ضرب المصفوفتين بالشكل التالي:
حاولت أن أستعمل دالة dot و ضرب المصفوفتين مباشرة:
ولكن كلا الطريقتين أخرجت النتيجة التالي:
وهو حاصل ضرب المصفوفة، وليس ناتج ضرب هادامار. كيف يمكنني الحصول على element-wise product (المعروف أيضًا باسم Hadamard product) باستخدام مكتبة Numpy؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.