Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python में दो ऐरे का आउटर प्रोडक्ट निकालें

NumPy का numpy.outer() फंक्शन दो वैक्टर्स का आउटर प्रोडक्ट (बाहरी गुणनफल) निकालता है। आउटर प्रोडक्ट में पहले वैक्टर के प्रत्येक एलिमेंट को दूसरे वैक्टर के प्रत्येक एलिमेंट से गुणा किया जाता है।

सिंटैक्स

numpy.outer(a, b, out=None)
  • a: पहला इनपुट वैक्टर (1D ऐरे, फ्लैट किया जाता है)।
  • b: दूसरा इनपुट वैक्टर (1D ऐरे, फ्लैट किया जाता है)।
  • out: वैकल्पिक आउटपुट ऐरे।
  • वापसी: आकार (len(a), len(b)) का 2D ऐरे।

गणितीय परिभाषा

दो वैक्टर्स a = [a₀, a₁, ..., aₘ] और b = [b₀, b₁, ..., bₙ] के लिए:

outer(a, b) = [[a₀b₀, a₀b₁, ..., a₀bₙ],
               [a₁b₀, a₁b₁, ..., a₁bₙ],
               ...
               [aₘb₀, aₘb₁, ..., aₘbₙ]]

उदाहरण

import numpy as np

# दो 1D ऐरे
arr1 = np.array([5, 10, 15])
arr2 = np.array([20, 25, 30])

print("वेक्टर 1:", arr1)
print("वेक्टर 2:", arr2)
print("वेक्टर 1 डायमेंशन्स:", arr1.ndim)
print("वेक्टर 2 डायमेंशन्स:", arr2.ndim)
print("वेक्टर 1 आकार:", arr1.shape)
print("वेक्टर 2 आकार:", arr2.shape)

# आउटर प्रोडक्ट
outer_product = np.outer(arr1, arr2)
print("\nआउटर प्रोडक्ट:\n", outer_product)

आउटपुट

वेक्टर 1: [ 5 10 15]
वेक्टर 2: [20 25 30]
वेक्टर 1 डायमेंशन्स: 1
वेक्टर 2 डायमेंशन्स: 1
वेक्टर 1 आकार: (3,)
वेक्टर 2 आकार: (3,)
आउटर प्रोडक्ट:
 [[100 125 150]
 [200 250 300]
 [300 375 450]]

चरण-दर-चरण गणना

202530
5100125150
10200250300
15300375450

उच्च-आयामी ऐरे के साथ (ऑटो-फ्लैटेंड)


# 2D ऐरे - स्वचालित रूप से फ्लैट हो जाएंगे
mat1 = np.array([[1, 2], [3, 4]])  # आकार (2, 2)
mat2 = np.array([[5, 6], [7, 8]])  # आकार (2, 2)

result = np.outer(mat1, mat2)
print("आकार:", result.shape)  # (4, 4) - दोनों 4 एलिमेंट्स में फ्लैट
print("परिणाम:\n", result)

आउटर प्रोडक्ट बनाम इनर प्रोडक्ट बनाम मैट्रिक्स गुणन

उपयोग के मामले

  • कर्नेल मैथड्स में ग्राम मैट्रिक्स निर्माण।
  • क्वांटम मैकेनिक्स में टेंसर प्रोडक्ट स्टेट्स।
  • इमेज प्रोसेसिंग में बेसिस फंक्शन एक्सपैंशन।
  • न्यूरल नेटवर्क्स में वेट आउटर प्रोडक्ट अपडेट्स।

संबंधित: np.einsum


# आउटर प्रोडक्ट einsum से
result = np.einsum('i,j->ij', arr1, arr2)
# समान परिणाम
  1. - पायथन में 4D और 3D आयाम वाली सरणियों का क्रोनेकर प्रोडक्ट प्राप्त करना

    4D और 3D आयाम वाली सरणी का क्रोनेकर प्रोडक्ट प्राप्त करने के लिए, पायथन NumPy में numpy.kron() विधि का उपयोग करें। क्रोनेकर प्रोडक्ट की गणना करें, जो दूसरी सरणी के ब्लॉकों से बनी एक समग्र सरणी है जिसे पहली सरणी द्वारा स्केल किया गया है। यह फ़ंक्शन मानता है कि a और b के आयामों की संख्या समान है, यदि

  1. - पायथन में दो सरणियों के एलिमेंट्स के उत्पाद का k-वां सबसे बड़ा मान ढूंढने का प्रोग्राम

    मान लीजिए हमें दो लिस्ट p और q दी गई हैं जिनमें कुछ इंटीजर नंबर हैं। हमें इन लिस्ट के सभी मानों को गुणा करना है और गुणन परिणामों से k-वां सबसे बड़ा मान ढूंढना है। इसलिए, यदि इनपुट p = [2, 5], q = [6, 8], k = 2 है, तो आउटपुट 16 होगा। गुणन परिणाम हैं: 2 * 6 = 12, 2 * 8 = 16, 5 * 6 = 30, 5 * 8 = 40। द

  1. - पायथन में दो सरणियों का प्रतिच्छेदन II

    मान लीजिए हमारे पास दो सरणी A और B हैं, इन सरणियों में कुछ तत्व हैं। हमें उनका प्रतिच्छेदन ढूंढना है। उदाहरण के लिए, यदि A = [1, 4, 5, 3, 6], और B = [2, 3, 5, 7, 9], तो प्रतिच्छेदन [3, 5] होगा। हल करने के चरण दो सरणी A और B लें यदि A की लंबाई B की लंबाई से छोटी है, तो उन्हें स्वैप करें सरणी में तत

© कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित
ऑपरेशनफंक्शनइनपुटआउटपुट आकारविवरण
आउटर प्रोडक्टnp.outer(a, b)(M,), (N,)(M, N)प्रत्येक जोड़ी का गुणनफल
इनर प्रोडक्टnp.inner(a, b)(M,), (N,)() स्केलरΣ aᵢbᵢ (डॉट प्रोडक्ट)
मैट्रिक्स गुणनa @ b(M, K), (K, N)(M, N)रो-कॉलम डॉट प्रोडक्ट्स
क्रॉस प्रोडक्टnp.cross(a, b)(3,), (3,)(3,)केवल 3D वैक्टर्स