विवरण
numpy.outer() फंक्शन बहु-आयामी सरणियों को फ्लैट (1-D में परिवर्तित) करके उनका बाह्य गुणनफल गणना करता है। इनपुट सरणियों के आकार मायने नहीं रखते; दोनों को फ्लैट किया जाता है।
चरण
import numpy as np
# दो 2-D नंपाई ऐरे बनाएं
arr1 = np.array([[5, 10], [15, 20]])
arr2 = np.array([[6, 12], [18, 24]])
print("ऐरे1...\n", arr1)
print("\nऐरे2...\n", arr2)
print("\nऐरे1 के आयाम...\n", arr1.ndim)
print("\nऐरे2 के आयाम...\n", arr2.ndim)
print("\nऐरे1 का आकार...\n", arr1.shape)
print("\nऐरे2 का आकार...\n", arr2.shape)
# बाह्य गुणनफल प्राप्त करें
print("\nपरिणाम (बाह्य गुणनफल)...\n", np.outer(arr1, arr2))
पूर्ण उदाहरण
import numpy as np
# दो 2-D नंपाई ऐरे बनाएं
arr1 = np.array([[5, 10], [15, 20]])
arr2 = np.array([[6, 12], [18, 24]])
# ऐरे प्रदर्शित करें
print("ऐरे1...\n", arr1)
print("\nऐरे2...\n", arr2)
# आयाम जांचें
print("\nऐरे1 के आयाम...\n", arr1.ndim)
print("\nऐरे2 के आयाम...\n", arr2.ndim)
# आकार जांचें
print("\nऐरे1 का आकार...\n", arr1.shape)
print("\nऐरे2 का आकार...\n", arr2.shape)
# बाह्य गुणनफल प्राप्त करें
print("\nपरिणाम (बाह्य गुणनफल)...\n", np.outer(arr1, arr2))
आउटपुट
ऐरे1...
[[ 5 10]
[15 20]]
ऐरे2...
[[ 6 12]
[18 24]]
ऐरे1 के आयाम...
2
ऐरे2 के आयाम...
2
ऐरे1 का आकार...
(2, 2)
ऐरे2 का आकार...
(2, 2)
परिणाम (बाह्य गुणनफल)...
[[ 30 60 90 120]
[ 60 120 180 240]
[ 90 180 270 360]
[120 240 360 480]]
व्याख्या
दोनों ऐरे फ्लैट हो जाते हैं:
arr1.ravel() = [5, 10, 15, 20]arr2.ravel() = [6, 12, 18, 24]
परिणाम 4×4 मैट्रिक्स जहां result[i,j] = arr1_flat[i] * arr2_flat[j]।
आकार नियम
- इनपुट:
aआकार(...),bआकार(...) - फ्लैट आकार:
a.size,b.size - आउटपुट आकार:
(a.size, b.size)
तुलना: outer बनाम kron बनाम मैट्रिक्स गुणन
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
# outer: दोनों फ्लैट, परिणाम (4, 4)
np.outer(a, b)
# kron: क्रोनेकर गुणनफल, परिणाम (4, 4) लेकिन अलग संरचना
np.kron(a, b) # [[5,6,10,12], [7,8,14,16], [15,18,20,24], [21,24,28,32]]
# मैट्रिक्स गुणनफल: आकार संगत होना चाहिए
a @ b # [[19, 22], [43, 50]] - आकार (2, 2)
मुख्य बिंदु
outerहमेशा इनपुट को फ्लैट करता है, उनकी मूल संरचना को अनदेखा करता है- संरक्षित संरचना वाले टेन्सर गुणनफल के लिए
kronयाeinsumका उपयोग करें - आउटपुट हमेशा 2-D होता है
- मेमोरी: आउटपुट आकार
a.size * b.size- बड़े ऐरे के लिए महंगा हो सकता है