NumPy 1.14 - matrix.setflags()

numpy.matrix.setflags




numpy

numpy.matrix.setflags

matrix.setflags(write=None, align=None, uic=None)

सरणी के झंडे सेट करें, क्रमशः, (WRITEBACKIFCOPY और UPDATEIFCOPY) क्रमशः।

ये बूलियन-मूल्य वाले झंडे प्रभावित करते हैं कि a (द्वारा नीचे नोट्स देखें) द्वारा उपयोग किए जाने वाले स्मृति क्षेत्र की सुन्न व्याख्या कैसे होती है। यदि डिज़ाइन वास्तव में प्रकार के अनुसार गठबंधन किया गया है, तो ALIGNED ध्वज केवल True पर सेट किया जा सकता है। WRITEBACKIFCOPY और (पदावनत) UPDATEIFCOPY झंडे कभी भी True पर सेट नहीं किए जा सकते हैं। यदि ध्वज की अपनी स्मृति है, या स्मृति का अंतिम स्वामी एक अदृश्य बफर इंटरफ़ेस को उजागर करता है, या एक स्ट्रिंग है, तो ध्वज केवल सत्य पर सेट किया जा सकता है। (स्ट्रिंग के लिए अपवाद इसलिए बनाया गया है ताकि मेमोरी को कॉपी किए बिना unpickling किया जा सके।)

पैरामीटर:

लिखना : बूल, वैकल्पिक

वर्णन करता है कि नहीं लिखा जा सकता है या नहीं।

संरेखित करें : बूल, वैकल्पिक

इसके प्रकार के लिए ठीक से संरेखित है या नहीं, इसका वर्णन करता है।

यूआईसी : बूल, वैकल्पिक

वर्णन करता है कि क्या a और "आधार" सरणी की एक प्रति है या नहीं।

टिप्पणियाँ

सरणी के झंडे जानकारी प्रदान करते हैं कि सरणी के लिए उपयोग किए जाने वाले मेमोरी क्षेत्र की व्याख्या कैसे की जाए। उपयोग में 7 बूलियन झंडे हैं, जिनमें से केवल चार को उपयोगकर्ता द्वारा बदला जा सकता है: WRITEBACKIFCOPY, UPDATEIFCOPY, WRITEABLE और ALIGNED।

डेटा क्षेत्र को गलत (डब्ल्यू) के लिए लिखा जा सकता है;

डिज़ाइन (ए) डेटा और स्ट्राइड्स को हार्डवेयर के लिए उचित रूप से संरेखित किया जाता है (जैसा कि कंपाइलर द्वारा निर्धारित किया जाता है);

UPDATEIFCOPY (U) (पदावनत), WRITEBACKIFCOPY द्वारा प्रतिस्थापित;

WRITEBACKIFCOPY (X) यह सरणी कुछ अन्य सरणी (.base द्वारा संदर्भित) की एक प्रति है। जब C-API फ़ंक्शन PyArray_ResolveWritebackIfCopy कहलाता है, तो आधार सरणी इस सरणी की सामग्री के साथ अपडेट की जाएगी।

सभी झंडे एकल (ऊपरी मामले) पत्र के साथ-साथ पूरे नाम का उपयोग करके एक्सेस किए जा सकते हैं।

उदाहरण

>>> y
array([[3, 1, 7],
       [2, 0, 0],
       [8, 5, 9]])
>>> y.flags
  C_CONTIGUOUS : True
  F_CONTIGUOUS : False
  OWNDATA : True
  WRITEABLE : True
  ALIGNED : True
  WRITEBACKIFCOPY : False
  UPDATEIFCOPY : False
>>> y.setflags(write=0, align=0)
>>> y.flags
  C_CONTIGUOUS : True
  F_CONTIGUOUS : False
  OWNDATA : True
  WRITEABLE : False
  ALIGNED : False
  WRITEBACKIFCOPY : False
  UPDATEIFCOPY : False
>>> y.setflags(uic=1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: cannot set WRITEBACKIFCOPY flag to True