NumPy 1.14 - numpy.dot()

numpy.dot




numpy

numpy.dot

numpy.dot(a, b, out=None)

दो सरणियों का डॉट उत्पाद। विशेष रूप से,

  • यदि a और b दोनों 1-डी सरणियां हैं, तो यह वैक्टर का आंतरिक उत्पाद है (जटिल संयुग्मन के बिना)।
  • यदि a और b दोनों 2-D सरणियाँ हैं, तो यह मैट्रिक्स गुणन है, लेकिन matmul या a @ b का उपयोग करना पसंद किया जाता है।
  • यदि या तो a या b 0-डी (स्केलर) है, तो यह multiply करने के लिए बराबर है और numpy.multiply(a, b) या a * b का उपयोग करना पसंद है।
  • यदि a एनडी सरणी है और b 1-डी सरणी है, तो यह a और b के अंतिम अक्ष पर एक योग उत्पाद है।
  • यदि a एनडी सरणी है और b एक एमडी सरणी है (जहां M>=2 ), तो यह b अंतिम अक्ष और b के दूसरे-से-अंतिम अक्ष पर एक योग उत्पाद है:

    dot(a, b)[i,j,k,m] = sum(a[i,j,:] * b[k,:,m])
    
पैरामीटर:

a : array_like

पहला तर्क।

b : array_like

दूसरा तर्क।

बाहर : ndarray, वैकल्पिक

आउटपुट तर्क। यह ठीक उसी तरह का होना चाहिए जो उपयोग न होने पर वापस आ जाएगा। विशेष रूप से, इसके पास सही प्रकार होना चाहिए, C-contiguous होना चाहिए, और इसका dtype dtype होना चाहिए जो dot(a,b) लिए लौटाया जाएगा। यह एक प्रदर्शन विशेषता है। इसलिए, यदि ये स्थितियां पूरी नहीं हुई हैं, तो लचीला होने के प्रयास के बजाय, एक अपवाद उठाया जाता है।

यह दिखाता है:

आउटपुट : ndarray

b और b का डॉट उत्पाद लौटाता है। यदि a और b दोनों स्केलर या दोनों 1-D सरणियाँ हैं, तो एक स्केलर वापस आ जाता है; अन्यथा एक सरणी वापस आ जाती है। अगर out दिया जाता है, तो उसे लौटा दिया जाता है।

जन्म देती है:

ValueError

यदि a का अंतिम आयाम b के दूसरे-से-अंतिम आयाम के समान आकार नहीं है।

यह भी देखें

vdot
जटिल-संयुग्मन डॉट उत्पाद।
tensordot
मनमाने अक्षों पर सम उत्पाद।
einsum
आइंस्टीन योग सम्मेलन।
matmul
पैरामीटर के साथ विधि के रूप में '@' ऑपरेटर।

उदाहरण

>>> np.dot(3, 4)
12

न तो तर्क जटिल-संयुग्मित है:

>>> np.dot([2j, 3j], [2j, 3j])
(-13+0j)

2-डी सरणियों के लिए यह मैट्रिक्स उत्पाद है:

>>> a = [[1, 0], [0, 1]]
>>> b = [[4, 1], [2, 2]]
>>> np.dot(a, b)
array([[4, 1],
       [2, 2]])
>>> a = np.arange(3*4*5*6).reshape((3,4,5,6))
>>> b = np.arange(3*4*5*6)[::-1].reshape((5,4,6,3))
>>> np.dot(a, b)[2,3,2,1,2,2]
499128
>>> sum(a[2,3,2,:] * b[1,2,:,2])
499128