के साथ पहचान मैट्रिक्स कैसे बनाएं, मैं पहचान के साथ मैट्रिक्स पहचान कैसे बना सकता हूं? वहाँ सेnumpy
numpy.matrix(numpy.identity(n))
के साथ पहचान मैट्रिक्स कैसे बनाएं, मैं पहचान के साथ मैट्रिक्स पहचान कैसे बना सकता हूं? वहाँ सेnumpy
numpy.matrix(numpy.identity(n))
यहाँ एक सरल वाक्य रचना है:
np.matlib.identity(n)
और यहाँ एक भी सरल वाक्य रचना है कि बहुत तेजी से चलाता है:
In [1]: n = 1000
In [2]: timeit np.matlib.identity(n)
100 loops, best of 3: 8.78 ms per loop
In [3]: timeit np.matlib.eye(n)
1000 loops, best of 3: 695 us per loop
एक सरल वाक्य रचना मुझे नहीं लगता कि वहाँ एक सरल समाधान है है। आप इसे थोड़ा और अधिक कुशलता से, हालांकि कर सकते हैं:
numpy.matrix(numpy.identity(n), copy=False)
यह अनावश्यक रूप से डेटा की प्रतिलिपि टाल।
मैं 'np.identity', हमेशा उपयोग किया जाता आंख इस्तेमाल नहीं किया है .. क्या आप जानते हैं' np.eye' और यह एक के बीच अंतर क्या है? – wim
@ विम: कोई फर्क नहीं पड़ता। 'numpy.eye()' थोड़ा और अधिक लचीला है। NumPy का इंटरफ़ेस बहुत सुव्यवस्थित नहीं है, और ओवरलैपिंग कार्यक्षमता वाले कई फ़ंक्शन मौजूद हैं। –
@ विम: [डॉक्स] के अनुसार (http://docs.scipy.org/doc/numpy/reference/generated/numpy.eye.html) 'np.eye'' np.identity' जैसा है लेकिन जोड़ा गया है कार्यक्षमता। आप कॉलम आकार निर्दिष्ट कर सकते हैं और विकर्ण को बदल सकते हैं। –
क्या आपको 'matlib' का उपयोग करने की आवश्यकता है? आप सिर्फ 'np.eye (n) 'नहीं कर सकते हैं? 'matlib' विशेष रूप से matrices पैदा करता है," सामान्य "numpy कार्यों के विपरीत जो numpy arrays पैदा करता है। –
प्रलेखन के अनुसार, ऐसा लगता है कि np.eye आवश्यक रूप से वर्ग matrices नहीं बनाता है। Np.matlib.eye का उपयोग करके प्रदर्शन लाभ के लिए, मुझे यकीन नहीं है। – hlin117