NumPy 1.14 - numpy.fill_diagonal()

numpy.fill_diagonal




numpy

numpy.fill_diagonal

numpy.fill_diagonal(a, val, wrap=False) [source]

किसी भी आयामीता के दिए गए सरणी के मुख्य विकर्ण को भरें।

a.ndim >= 2 साथ एक सरणी के लिए, विकर्ण उन स्थानों की सूची है जहां सूचकांकों के साथ a[i, ..., i] सभी समान हैं। यह फ़ंक्शन इनपुट ऐर-इन को संशोधित करता है, यह एक मान नहीं लौटाता है।

पैरामीटर:

a : सरणी, कम से कम 2-डी।

ऐरे जिसका विकर्ण भरा जाना है, वह संशोधित हो जाता है।

वैल : स्केलर

विकर्ण पर लिखा जाने वाला मान, इसका प्रकार सरणी ए के साथ संगत होना चाहिए।

रैप : बूल

NumPy संस्करण में 1.6.2 तक के लम्बे मेट्रिक्स के लिए, एन कॉलम के बाद विकर्ण "लिपटे"। आप इस विकल्प के साथ यह व्यवहार कर सकते हैं। यह केवल लंबे समय तक परिपक्वता को प्रभावित करता है।

यह भी देखें

diag_indices , diag_indices_from

टिप्पणियाँ

संस्करण 1.4.0 में नया।

यह कार्यक्षमता diag_indices माध्यम से प्राप्त की जा सकती है, लेकिन आंतरिक रूप से यह संस्करण बहुत तेज कार्यान्वयन का उपयोग करता है जो कभी भी सूचकांकों का निर्माण नहीं करता है और सरल diag_indices का उपयोग करता है।

उदाहरण

>>> a = np.zeros((3, 3), int)
>>> np.fill_diagonal(a, 5)
>>> a
array([[5, 0, 0],
       [0, 5, 0],
       [0, 0, 5]])

एक ही फ़ंक्शन 4-डी सरणी पर काम कर सकता है:

>>> a = np.zeros((3, 3, 3, 3), int)
>>> np.fill_diagonal(a, 4)

हम केवल स्पष्टता के लिए कुछ ब्लॉक दिखाते हैं:

>>> a[0, 0]
array([[4, 0, 0],
       [0, 0, 0],
       [0, 0, 0]])
>>> a[1, 1]
array([[0, 0, 0],
       [0, 4, 0],
       [0, 0, 0]])
>>> a[2, 2]
array([[0, 0, 0],
       [0, 0, 0],
       [0, 0, 4]])

रैप विकल्प केवल लम्बे मैट्रीस को प्रभावित करता है:

>>> # tall matrices no wrap
>>> a = np.zeros((5, 3),int)
>>> fill_diagonal(a, 4)
>>> a
array([[4, 0, 0],
       [0, 4, 0],
       [0, 0, 4],
       [0, 0, 0],
       [0, 0, 0]])
>>> # tall matrices wrap
>>> a = np.zeros((5, 3),int)
>>> fill_diagonal(a, 4, wrap=True)
>>> a
array([[4, 0, 0],
       [0, 4, 0],
       [0, 0, 4],
       [0, 0, 0],
       [4, 0, 0]])
>>> # wide matrices
>>> a = np.zeros((3, 5),int)
>>> fill_diagonal(a, 4, wrap=True)
>>> a
array([[4, 0, 0, 0, 0],
       [0, 4, 0, 0, 0],
       [0, 0, 4, 0, 0]])