NumPy 1.14 - numpy.ma.outerproduct()
numpy.ma.outerproduct

numpy.ma.outerproduct
-
numpy.ma.outerproduct(a, b)
[source] -
दो वैक्टर के बाहरी उत्पाद की गणना करें।
दो वैक्टर,
a = [a0, a1, ..., aM]
औरb = [b0, b1, ..., bN]
, बाहरी उत्पाद [R9999] है:[[a0*b0 a0*b1 ... a0*bN ] [a1*b0 . [ ... . [aM*b0 aM*bN ]]
पैरामीटर: a : (M,) array_like
पहला इनपुट वेक्टर। यदि पहले से ही आयामी नहीं है तो इनपुट को समतल किया जाता है।
b : (N,) array_like
दूसरा इनपुट वेक्टर। यदि पहले से ही आयामी नहीं है तो इनपुट को समतल किया जाता है।
बाहर : (एम, एन) ndarray, वैकल्पिक
एक स्थान जहां परिणाम संग्रहीत किया जाता है
संस्करण 1.9.0 में नया।
यह दिखाता है: आउट : (एम, एन) ndarray
out[i, j] = a[i] * b[j]
यह भी देखें
-
einsum
-
einsum('i,j->ij', a.ravel(), b.ravel())
समतुल्य है। -
ufunc.outer
-
एन आयामों और अन्य कार्यों के लिए एक सामान्यीकरण।
np.multiply.outer(a.ravel(), b.ravel())
समतुल्य है।
संदर्भ
[R9999] ( 1 , 2 ) : जीएच गोलूब और सीएफ वैन लोन, मैट्रिक्स कंप्यूटेशंस , तीसरा संस्करण।, बाल्टीमोर, एमडी, जॉन्स हॉपकिन्स यूनिवर्सिटी प्रेस, 1996, स्नातकोत्तर। 8। उदाहरण
मैंडलब्रॉट सेट की गणना के लिए एक ( बहुत मोटे) ग्रिड बनाएं:
>>> rl = np.outer(np.ones((5,)), np.linspace(-2, 2, 5)) >>> rl array([[-2., -1., 0., 1., 2.], [-2., -1., 0., 1., 2.], [-2., -1., 0., 1., 2.], [-2., -1., 0., 1., 2.], [-2., -1., 0., 1., 2.]]) >>> im = np.outer(1j*np.linspace(2, -2, 5), np.ones((5,))) >>> im array([[ 0.+2.j, 0.+2.j, 0.+2.j, 0.+2.j, 0.+2.j], [ 0.+1.j, 0.+1.j, 0.+1.j, 0.+1.j, 0.+1.j], [ 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j], [ 0.-1.j, 0.-1.j, 0.-1.j, 0.-1.j, 0.-1.j], [ 0.-2.j, 0.-2.j, 0.-2.j, 0.-2.j, 0.-2.j]]) >>> grid = rl + im >>> grid array([[-2.+2.j, -1.+2.j, 0.+2.j, 1.+2.j, 2.+2.j], [-2.+1.j, -1.+1.j, 0.+1.j, 1.+1.j, 2.+1.j], [-2.+0.j, -1.+0.j, 0.+0.j, 1.+0.j, 2.+0.j], [-2.-1.j, -1.-1.j, 0.-1.j, 1.-1.j, 2.-1.j], [-2.-2.j, -1.-2.j, 0.-2.j, 1.-2.j, 2.-2.j]])
अक्षरों के "वेक्टर" का उपयोग कर एक उदाहरण:
>>> x = np.array(['a', 'b', 'c'], dtype=object) >>> np.outer(x, [1, 2, 3]) array([[a, aa, aaa], [b, bb, bbb], [c, cc, ccc]], dtype=object)
-