मान लें कि हमारे पास दो matrices A
और B
हैं और मैट्रिक्स C
A*B
(मैट्रिक्स गुणा तत्व-वार नहीं) होने दें। हम केवल C
की विकर्ण प्रविष्टियां प्राप्त करना चाहते हैं, जो np.diagonal(C)
के माध्यम से किया जा सकता है। हालांकि, यह अनावश्यक समय ओवरहेड का कारण बनता है, क्योंकि हम में प्रत्येक पंक्ति के गुणों को B
के कॉलम के साथ गुणा कर रहे हैं, जिसमें एक ही 'आईडी' है, जो पंक्ति 1 के साथ A
की पंक्ति 1 है B
, A
की पंक्ति 2 B
के कॉलम 2 के साथ और इसी तरह: गुणा जो C
के विकर्ण का निर्माण करते हैं। क्या अम्पी का उपयोग करके कुशलता से हासिल करने का कोई तरीका है? मैं नियंत्रण के लिए लूप का उपयोग करना चाहता हूं कि कौन सी पंक्ति को कॉलम के साथ गुणा किया जाता है, इसके बजाय, मैं एक अंतर्निहित numpy विधि की कामना करता हूं जो प्रदर्शन को अनुकूलित करने के लिए इस तरह के ऑपरेशन करता है।(पायथन) ए * बी करने के बिना विकर्ण (ए * बी) कैसे प्राप्त करें?
अग्रिम धन्यवाद ..
किसी को भी देखने के लिए बस एक नोट: NumPy में 'ए * बी' तत्व-वार गुणा है, मैट्रिक्स गुणा नहीं है (जो' a.dot (b) 'है)। – Blair
'ए' और 'बी' प्रकार' ndarray' या' matrix' हैं? – Bitwise
@ ब्लेयर, यह मामला है यदि 'ए' और' बी' 'numpy.array' हैं। अगर वे 'numpy.matrix' हैं, तो आप 'ए * बी' –