NumPy 1.14 - numpy.kron()

numpy.kron




numpy

numpy.kron

numpy.kron(a, b) [source]

दो सरणियों के उत्पाद निर्माता।

क्रोकर उत्पाद की गणना करता है, पहले से स्केल किए गए दूसरे सरणी के ब्लॉकों से बना एक समग्र सरणी।

पैरामीटर: a, b : array_like
यह दिखाता है: बाहर : ndarray

यह भी देखें

outer
बाहरी उत्पाद

टिप्पणियाँ

फ़ंक्शन मानता है कि a और b के आयामों की संख्या समान है, यदि आवश्यक हो तो सबसे छोटे लोगों के साथ प्रस्तुत करना। यदि a.shape = (r0,r1,..,rN) और b.shape = (s0,s1,…,sN) , तो क्रोनकर उत्पाद का आकार (r0*s0, r1*s1, …, rN*SN) । तत्व a और b के तत्वों के उत्पाद हैं, जो स्पष्ट रूप से संगठित हैं:

kron(a,b)[k0,k1,...,kN] = a[i0,i1,...,iN] * b[j0,j1,...,jN]

कहा पे:

kt = it * st + jt,  t = 0,...,N

आम 2-डी मामले (एन = 1) में, ब्लॉक संरचना की कल्पना की जा सकती है:

[[ a[0,0]*b,   a[0,1]*b,  ... , a[0,-1]*b  ],
 [  ...                              ...   ],
 [ a[-1,0]*b,  a[-1,1]*b, ... , a[-1,-1]*b ]]

उदाहरण

>>> np.kron([1,10,100], [5,6,7])
array([  5,   6,   7,  50,  60,  70, 500, 600, 700])
>>> np.kron([5,6,7], [1,10,100])
array([  5,  50, 500,   6,  60, 600,   7,  70, 700])
>>> np.kron(np.eye(2), np.ones((2,2)))
array([[ 1.,  1.,  0.,  0.],
       [ 1.,  1.,  0.,  0.],
       [ 0.,  0.,  1.,  1.],
       [ 0.,  0.,  1.,  1.]])
>>> a = np.arange(100).reshape((2,5,2,5))
>>> b = np.arange(24).reshape((2,3,4))
>>> c = np.kron(a,b)
>>> c.shape
(2, 10, 6, 20)
>>> I = (1,3,0,2)
>>> J = (0,2,1)
>>> J1 = (0,) + J             # extend to ndim=4
>>> S1 = (1,) + b.shape
>>> K = tuple(np.array(I) * np.array(S1) + np.array(J1))
>>> c[K] == a[I]*b[J]
True