Kuchulukitsa kwa matrix ndi ntchito yofunika kwambiri mu linear algebra.
Nthawi zambiri timagwiritsa ntchito pazinthu zambiri monga kukonza zithunzi, kuphunzira pamakina, ndi zina zambiri. NumPy ndi phukusi lodziwika bwino la Python pamakompyuta asayansi.
Komabe, mu positi iyi, tiwona njira zosiyanasiyana zochulukitsira matrix mu Python osagwiritsa ntchito NumPy.
Tidzagwiritsa ntchito malupu obisika, ntchito ya mapu () yomangidwa, ndi kumvetsetsa mndandanda.
Kuonjezera apo, tiwona ubwino ndi zovuta za njira iliyonse, komanso nthawi yogwiritsira ntchito iliyonse ya izo. Ngati ndinu watsopano ku linear algebra ndipo mukufuna kuphunzira zambiri za kuchulutsa matrix; pitirizani kuwerenga.
Kodi Timagwiritsa Ntchito Kuti Matrix Multiplication?
Kuchulukitsa kwa matrix kumagwiritsidwa ntchito makompyuta kusintha mawonekedwe a 2D ndi 3D. Mwachitsanzo, mutha kuzungulira, kukulitsa, ndi kumasulira zinthu pazenera. Matrix amagwiritsidwa ntchito pokonza zithunzi kuyimira zithunzi ngati masanjidwe a pixel. Kupatula apo, matrix atha kugwiritsidwa ntchito ngati kusefa zithunzi.
Timagwiritsanso ntchito matrix makina kuphunzira. Iwo akhoza kutithandiza kuimira deta ndi chitsanzo magawo. Titha kuchita zinthu zambiri, monga kupanga madontho apakompyuta ndi zinthu za matrix-vector.
Zowonadi, opareshoni iyi ndiyothandizanso kwambiri pantchito zasayansi. Titha kugwiritsa ntchito physics ndi engineering kufotokoza kuchuluka kwa thupi. Chifukwa chake, titha kugwira ntchito ndi ma vector ndi ma tensor.
Chifukwa Chiyani Sitingasankhe Kugwiritsa Ntchito NumPy?
Pomwe NumPy ndi a Laibulale ya Python, sinthawi zonse njira yabwino yochulutsa matrix. Sitingasankhe kugwiritsa ntchito NumPy pazifukwa monga kukula ndi kudalira, kuphunzira, ndi machitidwe oyambira.
Kugwiritsa ntchito zomanga za Python kapena kupanga ma code achikhalidwe kungakhale kothandiza nthawi zina. Ndikofunikira kudziwa, komabe, kuti NumPy ndi laibulale yamphamvu. Kupatula apo, mutha kugwiritsanso ntchito kuchulukitsa kwa matrix.
Tsopano, tiyeni tiwone momwe tingakwaniritsire kuchulukitsa kwa matrix popanda NumPy.
Njira yopangira ma loops
Njira yolumikizira nested imagwiritsa ntchito malupu okhala ndi zisa kuti achulukitse matrix mu Python. Ntchitoyi imabwerezabwereza pa chinthu chilichonse cha matrix. Ndipo, amawachulukitsa pogwiritsa ntchito malupu angapo okhala ndi zisa. Ntchitoyi imabwezeretsa zotsatira, zomwe zimasungidwa mu matrix atsopano.
Njira iyi ndiyosavuta kuigwira. Komabe, sizingakhale zogwira mtima monga njira zina, makamaka kwa matrices akuluakulu. Komabe, ndi chisankho chabwino kwa inu ngati ndinu watsopano ku linear algebra.
def matrix_multiplication(A, B):
# Determine the matrices' dimensions.
rows_A = len(A)
cols_A = len(A[0])
rows_B = len(B)
cols_B = len(B[0])
# Khazikitsani zotsatira zake kukhala zero.
result = [[0 for row in range(cols_B)] for col in
range(rows_A)]
# Iterate through rows of A
for s in range(rows_A):
# Iterate through columns of B
for j in range(cols_B):
# Iterate through rows of B
for k in range(cols_A):
result[s][j] += A[s][k] * B[k][j]
return result
Tiyeni tikhale ndi chitsanzo cha mmene tingachitire zimenezi. Mutha kungowonjezera mizere iyi yamakhodi pansipa kuti muyese chitsanzo ichi.
# Sample matrices
A = [[1, 4, 3], [4, 9, 6]]
B = [[7, 8], [9, 10], [11, 12]]
# Perform matrix multiplication
result = matrix_multiplication(A, B)
# Print the result
print(result)
# Output: [[76, 84], [175, 194]]
ubwino:
- Zosavuta kumva.
- Zabwino kwa ongoyamba kumene kapena omwe akufuna kumvetsetsa mozama pakuchulukitsa kwa matrix.
kuipa:
- Osagwira ntchito ngati njira zina, makamaka matrices akuluakulu.
- Sichiwerengeka ngati njira zina.
map () ntchito njira
Mapu () ntchito njira imapereka njira ina yochulutsira matrix mu Python. Mwanjira iyi, timagwiritsa ntchito mapu omangidwa () ntchito. Chifukwa chake, timagwiritsa ntchito chida chokonzekera chomwe chimagwira ntchito yoperekedwa ku chinthu chilichonse chomwe chingatheke (mndandanda, tuple, ndi zina). Komanso, Mapu () ntchito amavomereza magawo awiri, ntchito ndi iterable. Ndipo, imabwezeranso chobwereza chomwe chimagwiritsa ntchito chinthu chilichonse chosinthika.
Mwanjira iyi, timadutsa membala aliyense wa matrix ndikuchita kuchulukitsa pogwiritsa ntchito mapu () ntchito.
Ntchito ya zip () imagwiritsidwa ntchito kubwereza kudzera mu gawo lililonse la matrices molingana.
Pomaliza, sum () ntchito imagwiritsidwa ntchito kuwonjezera zotsatira.
def matrix_multiplication(A, B):
# To get the dimensions of the matrices
rows_A = len(A)
cols_A = len(A[0])
rows_B = len(B)
cols_B = len(B[0])
# We use map() function for multiplication.
result = [[sum(a * b for a, b in zip(row_a, col_b)) for
col_b in zip(*B)] for row_a in A]
return result
Tsopano, kachiwiri, tikhoza kuyesa code yathu ndi chitsanzo.
# Example matrices
A = [[3, 2, 3], [4, 5, 6]]
B = [[7, 8], [9, 10], [11, 12]]
# Use map() function to perform matrix multiplication
result = list(map(lambda x: list(map(lambda y: sum(i*j
for i,j in zip(x,y)), zip(*B))), A))
# Print the result
print(result)
# Output: [[72, 80], [139, 154]]
ubwino
- Zothandiza kwambiri kuposa njira yolumikizira malupu
- Imagwiritsa ntchito mapulogalamu ogwira ntchito kuti code ikhale yosavuta.
kuipa
- Anthu ena omwe sadziwa bwino za pulogalamu yogwira ntchito angaone kuti siziwerengeka.
- Ndizomveka pang'ono kusiyana ndi njira yopangira malupu.
Lembani njira yomvetsetsa
Kumvetsetsa mndandanda kumakuthandizani kupanga mndandanda watsopano pamzere umodzi wa code. Chifukwa chake, izi ndikugwiritsa ntchito mawu kwa membala aliyense pamndandanda womwe ulipo.
Mwanjira iyi, kuchulukitsa kumachitika ndikubwereza mobwerezabwereza kudzera mwa membala aliyense wa matrix. Timagwiritsa ntchito chidziwitso chamndandanda.
# Sample matrices
A = [[1, 12, 3], [14, 5, 6]]
B = [[7, 8], [9, 10], [12, 12]]
# Matrix multiplication using list comprehension
result = [[sum(A[i][k] * B[k][j] for k in range(len(A[0])))
for j in range(len(B[0]))] for i in range(len(A))]
# Print the result
print(result)
[[151, 164], [215, 234]]
ubwino
- Poyerekeza ndi mapu () njira yogwirira ntchito, yayifupi komanso yowerengeka.
kuipa
- Itha kukhala yocheperako kuposa kugwiritsa ntchito mapu () ntchito, makamaka ma matrices akulu.
- Ndizovuta kwambiri kuposa momwe zimakhalira malupu.
Kutsiliza
Mu positi iyi, tidayang'ana njira zina zogwiritsira ntchito NumPy pochulukitsa matrices ku Python. Tinachita kuchulukitsa kwa matrix mu malupu okhala zisa, ntchito ya mapu () yomangidwa, ndikumvetsetsa mndandanda.
Njira yabwino kwambiri idzadalira zosowa za polojekiti yanu.
Njira iliyonse ili ndi ubwino ndi kuipa kwake. Kuti muwonetsetse kuti ntchitoyo ikugwira ntchito moyenera, ndi bwino kuwonjezera ma test test okhala ndi miyeso ndi zikhalidwe zosiyanasiyana.
Muyeneranso kuphatikizirapo mayeso ena kuti mufananize momwe njirazi zimagwirira ntchito.
Siyani Mumakonda