Kuwedzera matrix ibasa rakakosha mumutsara algebra.
Isu tinowanzo kuishandisa mune akawanda maapplication akadai sekugadzirisa mifananidzo, kudzidza muchina, uye zvimwe zvakawanda. NumPy inozivikanwa Python package yesainzi komputa.
Nekudaro, mune ino positi, isu tichatarisa nzira dzakasiyana dzekuita matrix kuwanda muPython pasina kushandisa NumPy.
Tichashandisa zvishwe zvakavezwa, iyo yakavakirwa-mukati mepu() basa, uye nyora nzwisiso.
Pamusoro pezvo, isu tichatarisa mabhenefiti uye zvipingamupinyi zvega rega rega, pamwe nenguva yekushandisa imwe neimwe yadzo. Kana iwe uri mutsva kune mutsara algebra uye uchida kudzidza zvakawanda nezve matrix kuwanza; ramba uchiverenga.
Isu Tinoshandisa Kupi Matrix Kuwedzeredza?
Matrix kuwanda kunoshandiswa mukati computer graphics kushandura 2D uye 3D zvinoonekwa. Semuenzaniso, unogona kutenderera, kuyera, uye kududzira zvinhu zviri pachiratidziri. Matrixes anoshandiswa mukugadzirisa mifananidzo kumiririra mifananidzo sezvirongwa zvepixels. Kunze kwezvo, matrixes anogona kushandiswa kuita mashandiro sekusefa kwemifananidzo.
Isu tinoshandisawo matrixes mukati machine learning. Vanogona kutibatsira kumiririra data uye modhi paramita. Isu tinokwanisa kuita akawanda maoperation, senge computing dot zvigadzirwa uye matrix-vector zvigadzirwa.
Chokwadi, kuvhiya uku kunobatsirawo zvakanyanya mukuita kwesainzi. Tinogona kuishandisa mufizikisi uye mainjiniya kutsanangura huwandu hwemuviri. Nekudaro, isu tinokwanisa kushanda nemavector uye tensor.
Nei Tisingasarudze Kushandisa NumPy?
Nepo NumPy iri a Python library, haisi nguva dzose yakanakira sarudzo yekuwedzera matrix. Isu tinogona kusasarudza kushandisa NumPy nekuda kwezvikonzero zvakaita sehukuru uye kutsamira, kudzidza, uye masisitimu enhaka.
Kushandisa Python yakavakirwa-mukati mabasa kana kugadzira tsika kodhi inogona kunyatso shanda mune dzimwe nguva. Izvo zvakakosha kuti uzive, zvisinei, kuti NumPy raibhurari yakasimba. Kunze kwezvo, iwe unogona zvakare kuishandisa kuwedzeredza matrix.
Zvino, ngatitarisei kuti tingaita sei matrix kuwanda pasina NumPy.
Nested loops nzira
Iyo nested loops tekinoroji inoshandisa nested loops kuita matrix kuwanda muPython. Basa racho rinodzokorora pamusoro pechimwe nechimwe che matrix. Uye, inovawanza vachishandisa nhevedzano yezvishwe zvakaiswa. Basa racho rinodzorera chigumisiro, icho chinochengetwa mune imwe matrix itsva.
Iyi nzira iri nyore kubata. Nekudaro, inogona kusashanda sedzimwe nzira, kunyanya kumamatiki makuru. Asi, isarudzo yakanaka kwauri kana uri mutsva kune mutsara 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])
# Isa mhedzisiro matrix kune zeroes.
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
Ngativei nemuenzaniso wekuita izvi. Iwe unogona kungowedzera iyi mitsara yekodhi pazasi kuti uedze uyu muenzaniso.
# 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]]
Benefits:
- Zviri nyore kunzwisisa.
- Yakanakira vatsva kana avo vari kutsvaga nzwisiso yakadzama yekuwedzeredza matrix.
payakaipira:
- Haisi kushanda sedzimwe nzira, kunyanya kune matrices makuru.
- Haiverengeki sedzimwe nzira.
map () basa nzira
Iyo mepu () basa nzira inopa imwe nzira yekuita matrix kuwanda muPython. Nenzira iyi, tinoshandisa yakavakirwa-mukati mepu () basa. Nekudaro, isu tinoshandisa inoshanda chirongwa chekushandisa chinoshandisa basa rakapihwa kune yega iterable element (rondedzero, tuple, nezvimwewo). Zvakare, Iyo mepu () basa rinogamuchira maviri paramita, basa uye iterable. Uye, inodzosa iterator inoshandisa basa kune chimwe nechimwe chinhu chinogoneka.
Nenzira iyi, tinoenda kuburikidza nenhengo yega yega yematrix uye toita kuwanda tichishandisa iyo nested mepu() basa.
Iyo zip () basa rinoshandiswa kudzokorora kuburikidza nechinhu chimwe nechimwe chematrices chakafanana.
Pakupedzisira, iyo sum () basa rinoshandiswa kuwedzera mhinduro.
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
Zvino, zvakare, tinogona kuyedza kodhi yedu nemuenzaniso.
# 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]]
Advantages
- Zvinonyanya kushanda kupfuura maitiro akaturikidzana
- Inoshandisa hurongwa hwekuita kuti kodhi ive nyore.
payakaipira
- Vamwe vanhu vasingazive nezve inoshanda programming vanogona kuiwana isingaverengeki.
- Hazvina kunzwisiswa pane nested loops technique.
Nyora nzira yekunzwisisa
Kunzwisisa rondedzero kunoita kuti iwe ugadzire runyoro rutsva mumutsara mumwe wekodhi. Saka, izvi ndezvekushandisa chirevo kune imwe neimwe nhengo yerondedzero iripo.
Mukuita uku, kuwanda kunoitwa nekudzokorodza kudzokorora kuburikidza nenhengo yega yega matrix. Isu tiri kushandisa layered list kunzwisisa.
# 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]]
Benefits
- Kuenzaniswa nemepu () basa nzira, ipfupi uye inoverengeka.
payakaipira
- Inogona kunge isingashande pane kushandisa mepu () basa, kunyanya kune makuru matrices.
- Iyo yakaoma kupfuura iyo nested loops nzira.
mhedziso
Mune ino post, takatarisa dzimwe nzira dzekushandisa NumPy kana uchiwedzera matrices muPython. Isu takaita matrix kuwanda muzvishwe nested, iyo yakavakirwa-mukati mepu() basa, uye rondedzero kunzwisisa.
Iyo yakanakisa zano ichatsamira pane zvimwe zvinodiwa zvepurojekiti yako.
Imwe neimwe yemazano ine zvayakanakira nezvayakaipira zvayo. Kuti uve nechokwadi chekuti basa riri kushanda nemazvo, ipfungwa yakanaka kuwedzera mamwe makesi ebvunzo ane hukuru hwakasiyana hwematrix uye kukosha.
Iwe unofanirwawo kusanganisira mamwe maedzo ekuita kuenzanisa kuti nzira idzi dzinoita sei.
Leave a Reply