मैं अजगर का उपयोग कर स्ट्रैसेन मैट्रिक्स गुणा को कार्यान्वित कर रहा हूं। विभाजित चरण में, हम एक बड़े मैट्रिक्स को छोटे उप-मैट्रिक्स में विभाजित करते हैं। क्या मैट्रिक्स को विभाजित करने के लिए कोई अंतर्निहित numpy फ़ंक्शन है?numpy का उपयोग कर 4 ब्लॉक में एक मैट्रिक्स कैसे विभाजित करें?
6
A
उत्तर
11
बिल्कुल नहीं, लेकिन सरणी स्लाइसिंग नोटेशन का उपयोग करके आप इसे अपने आप को आसानी से करने में सक्षम होना चाहिए।
>>> A = np.linspace(0,24,25).reshape([5,5,])
>>> A
array([[ 0., 1., 2., 3., 4.],
[ 5., 6., 7., 8., 9.],
[ 10., 11., 12., 13., 14.],
[ 15., 16., 17., 18., 19.],
[ 20., 21., 22., 23., 24.]])
मेक बी में एक ऊपरी-बाएं 2x2:
>>> B = A[0:2,0:2]
ध्यान दें कि बी एक दृश्य है, यह एक
>>> B[1,1] = 60
>>> print A
[[ 0. 1. 2. 3. 4.]
[ 5. 60. 7. 8. 9.]
[ 10. 11. 12. 13. 14.]
[ 15. 16. 17. 18. 19.]
[ 20. 21. 22. 23. 24.]]
के साथ डेटा साझा करता है आप डेटा की प्रतिलिपि करने की जरूरत है ए से, कॉपी विधि का उपयोग करें:
>>> B = A[0:2,0:2].copy()
>>> B
array([[ 0., 1.],
[ 5., 60.]])
>>> B[1,1] = 600
>>> B
array([[ 0., 1.],
[ 5., 600.]])
>>> A
array([[ 0., 1., 2., 3., 4.],
[ 5., 60., 7., 8., 9.],
[ 10., 11., 12., 13., 14.],
[ 15., 16., 17., 18., 19.],
[ 20., 21., 22., 23., 24.]])
2
मैं भाग गया एक ही समस्या है और पाया कुछ बिल्ट-इन numpy कार्यों 4 submatrices में मेरी मैट्रिक्स विभाजित करने के लिए (मेरे मैट्रिक्स आकार के होते हैं 2^N * 2^N)
यहाँ कोड मैं ने लिखा है:
upper_half = np.hsplit(np.vsplit(my_matrix, 2)[0], 2)
lower_half = np.hsplit(np.vsplit(my_matrix, 2)[1], 2)
upper_left = upper_half[0]
upper_right = upper_half[1]
lower_left = lower_half[0]
lower_right = lower_half[1]
बोनस numpy का उपयोग कर उन्हें पुनः संयोजित करने के लिए:
C=np.vstack([np.hstack([c11, c12]), np.hstack([c21, c22])])
vsplit hsplit hstack और vstack उस उद्देश्य के लिए किए जाने के लिए लग रहे हैं
संबंधित मुद्दे
- 1. मैं ब्लॉक को ब्लॉकडागोनल मैट्रिक्स (NumPy)
- 2. एक numpy मैट्रिक्स
- 3. बेवकूफ: एन-अलग मैट्रिक्स में यादृच्छिक रूप से विभाजित/मैट्रिक्स का चयन कैसे करें
- 4. MATLAB में किसी छवि को ब्लॉक में कैसे विभाजित करें?
- 5. बढ़ते मैट्रिक्स NumPy
- 6. मैं दो अन्य मैट्रिक्स के बीच पंक्तियों द्वारा मैट्रिक्स को विभाजित/विभाजित कैसे कर सकता हूं?
- 7. एक का उपयोग कर ब्लॉक
- 8. numpy में एक बुलियन मैट्रिक्स कैसे डंप करने के लिए?
- 9. एक numpy मैट्रिक्स में न्यूनतम मान कैसे खोजें?
- 10. त्वरित ढांचे का उपयोग कर मैट्रिक्स उलटा ऑपरेशन कैसे करें?
- 11. किसी सरणी में किसी भी दो तत्व जोड़ने और मैट्रिक्स का उत्पादन करने के लिए numpy का उपयोग कैसे करें?
- 12. स्पैर मैट्रिक्स तत्वों का उपयोग कैसे करें?
- 13. ब्लॉक गैलरी का उपयोग कर?
- 14. सिम निर्देशों का उपयोग कर 3x3 मैट्रिक्स उलटा संभव है?
- 15. ईजिन लाइब्रेरी: एक फ़ंक्शन में एक मैट्रिक्स ब्लॉक को lvalue
- 16. NumPy
- 17. मैं एक numpy मैट्रिक्स का एक अच्छा आउटपुट कैसे बना सकता हूं?
- 18. कई बराबर भागों में एक मैटलैब मैट्रिक्स को विभाजित करना
- 19. ब्लॉक tridiagonal मैट्रिक्स पायथन
- 20. php का उपयोग करके सरणी को 2 में विभाजित/विभाजित कैसे करें?
- 21. स्ट्रिंग विभाजित प्रश्न का उपयोग कर "*"
- 22. एक सरणी कैसे विभाजित करें?
- 23. numpy
- 24. एक मैट्रिक्स में कॉलम कैसे प्रीपेड करें?
- 25. SciPy NumPy और SciKit-learn, एक स्पैर मैट्रिक्स
- 26. मैं एक निश्चित पंक्ति से मैट्रिक्स की प्रत्येक पंक्ति को कैसे विभाजित कर सकता हूं?
- 27. एक ट्यूपल कैसे विभाजित करें?
- 28. मैट्रिक्स को बराबर भागों में विभाजित करने के लिए कैसे?
- 29. पायथन में टिप्पणी ब्लॉक के आधार पर मैं एक टेक्स्ट फ़ाइल कैसे विभाजित कर सकता हूं?
- 30. जावास्क्रिप्ट में व्हाइटस्पेस का उपयोग कर एक स्ट्रिंग को विभाजित करें?