तो मेरे पास 2 मैट्रिक्स हैं। ए = 2x2 और बी = 3x2। मैं मैट्रिक्स बी में मानों द्वारा मैट्रिक्स ए के क्रमशः प्रत्येक कॉलम को एक्सपोनेंट करने की कोशिश कर रहा हूं, फिर प्रत्येक पंक्ति का उत्पाद प्राप्त करें। तो उदाहरण के लिए,

A=[[1,1],[0,0]]
B=[[1,1],[0,0],[2,2]]

यदि हम ए की पहली पंक्ति लेते हैं और मूल्य की गणना करते हैं तो आउटपुट होगा

[[1^1,1^1], [1^0, 1^0], [1^2,1^2]]

फिर प्रत्येक पंक्ति का गुणनफल इस प्रकार लें:

[1, 1, 1]

फिर दूसरी पंक्ति के लिए

[[0^1,0^1],[0^0,0^0],[0^2,0^2]]

प्रत्येक पंक्ति का उत्पाद होना चाहिए

[0, 1, 0]

अंतिम आउटपुट तब होना चाहिए

[[1,0],[1,1],[1,0]]

तो एक पंक्ति A के लिए मान लें कि यह 1x2 है तो प्रत्येक तत्व को मैट्रिक्स B में पंक्ति मानों की शक्ति में रखा जाना चाहिए। इसलिए पंक्ति A के कॉलम I को B के कॉलम I में सभी मानों से एक्सपोनेंटियेट किया जाना चाहिए।

0
user8714896 13 जुलाई 2021, 04:31

1 उत्तर

In [238]: A=np.array([[1,1],[0,0]])
     ...: B=np.array([[1,1],[0,0],[2,2]])
In [239]: A.shape, B.shape
Out[239]: ((2, 2), (3, 2))

A . की आपकी पहली पंक्ति

In [241]: A[0,:]**B
Out[241]: 
array([[1, 1],
       [1, 1],
       [1, 1]])

दूसरी पंक्ति:

In [242]: A[1,:]**B
Out[242]: 
array([[0, 0],
       [1, 1],
       [0, 0]])

और उत्पाद:

In [243]: (A[0,:]**B).prod(axis=1)
Out[243]: array([1, 1, 1])
In [244]: (A[1,:]**B).prod(axis=1)
Out[244]: array([0, 1, 0])

अब सभी A के साथ:

In [245]: (A[:,None]**B)
Out[245]: 
array([[[1, 1],
        [1, 1],
        [1, 1]],

       [[0, 0],
        [1, 1],
        [0, 0]]])
In [246]: (A[:,None]**B).prod(axis=2)
Out[246]: 
array([[1, 1, 1],
       [0, 1, 0]])

टिप्पणी संस्करण को समान संख्याएँ मिलती हैं, लेकिन एक ट्रांसपोज़्ड परिणाम के साथ:

In [251]: (A**B[:,:,None]).prod(axis=2)
Out[251]: 
array([[1, 0],
       [1, 1],
       [1, 0]])

A का (2,2) आकार और बराबर कॉलम थोड़ा अस्पष्टता पैदा करते हैं।

एक (1,2) सरणी बनाएं:

In [252]: A1 = A[[1],:]
In [253]: A1.shape
Out[253]: (1, 2)
In [254]: (A1[:,None]**B).prod(axis=2)
Out[254]: array([[0, 1, 0]])

In [258]: (A1**B[:,:,None]).prod(axis=2)
Out[258]: 
array([[0, 0],
       [1, 1],
       [0, 0]])
0
hpaulj 13 जुलाई 2021, 03:05