Ilọpo Matrix jẹ iṣẹ ipilẹ ni algebra laini.
A nlo ni gbogbogbo ni ọpọlọpọ awọn ohun elo bii sisẹ aworan, ẹkọ ẹrọ, ati ọpọlọpọ diẹ sii. NumPy jẹ package Python olokiki fun iširo imọ-jinlẹ.
Sibẹsibẹ, ninu ifiweranṣẹ yii, a yoo wo awọn ọna pupọ fun ṣiṣe isodipupo matrix ni Python laisi lilo NumPy.
A yoo lo itankalẹ awọn losiwajulosehin, iṣẹ maapu () ti a ṣe sinu, ati oye atokọ.
Ni afikun, a yoo wo awọn anfani ati alailanfani ti ilana kọọkan, ati igba ti o yẹ lati lo ọkọọkan wọn. Ti o ba jẹ tuntun si algebra laini ati pe o fẹ lati ni imọ siwaju sii nipa isodipupo matrix; Tesiwaju kika.
Nibo ni A Lo Ilọpo Matrix?
Matrix isodipupo ti wa ni lilo ninu awọn apẹẹrẹ kọmputa lati paarọ 2D ati 3D visuals. Fun apẹẹrẹ, o le yi, iwọn, ati tumọ awọn nkan loju iboju. Awọn matrix jẹ lilo ni ṣiṣe aworan lati ṣe aṣoju awọn aworan bi awọn akojọpọ awọn piksẹli. Yato si, awọn matrix le ṣee lo lati ṣe awọn iṣẹ bii sisẹ aworan.
A tun lo awọn matrix ninu imudani ẹrọ. Wọn le ṣe iranlọwọ fun wa lati ṣe aṣoju data ati awọn paramita awoṣe. A le ṣe awọn iṣẹ lọpọlọpọ, gẹgẹbi awọn ọja aami iṣiro ati awọn ọja matrix-vector.
Nitootọ, iṣẹ yii tun jẹ anfani pupọ ni awọn iṣẹ imọ-jinlẹ. A le lo ni fisiksi ati imọ-ẹrọ lati ṣe apejuwe awọn iwọn ti ara. Nitorinaa, a le ṣiṣẹ pẹlu awọn apọn ati awọn tenors.
Kini idi ti A ko le Yan lati Lo NumPy?
Lakoko ti NumPy jẹ a Python ìkàwé, kii ṣe nigbagbogbo aṣayan ti o dara julọ fun isodipupo matrix. A le ma yan lati lo NumPy fun awọn idi bii iwọn ati igbẹkẹle, ẹkọ, ati awọn ọna ṣiṣe.
Lilo awọn iṣẹ ti a ṣe sinu Python tabi idagbasoke koodu aṣa le jẹ daradara siwaju sii ni awọn igba miiran. O ṣe pataki lati ṣe akiyesi, sibẹsibẹ, pe NumPy jẹ ile-ikawe to lagbara. Yato si, o tun le lo fun isodipupo matrix.
Bayi, jẹ ki a wo bawo ni a ṣe le ṣaṣeyọri isodipupo matrix laisi NumPy.
Tiwon losiwajulosehin ọna
Ilana awọn iyipo itẹ-ẹiyẹ nlo awọn iyipo itẹ-ẹiyẹ lati ṣiṣẹ isodipupo matrix ni Python. Awọn iṣẹ iterates lori kọọkan matrix ano. Ati pe, o mu wọn pọ si ni lilo lẹsẹsẹ ti awọn iyipo itẹ-ẹiyẹ. Iṣẹ naa da abajade pada, eyiti o fipamọ sinu matrix tuntun kan.
Ọna yii jẹ taara lati ni oye. Sibẹsibẹ, o le ma ṣiṣẹ daradara bi awọn ọna miiran, paapaa fun awọn matiri nla. Sibẹsibẹ, yiyan iyanu ni fun ọ ti o ba jẹ tuntun si algebra laini.
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])
# Ṣeto matrix abajade si awọn odo.
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
Jẹ ki a ni apẹẹrẹ ti bi a ṣe le ṣe eyi. O le kan ṣafikun awọn laini koodu ni isalẹ lati ṣe idanwo apẹẹrẹ yii.
# 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]]
anfani:
- Rọrun lati ni oye.
- Nla fun awọn tuntun tabi awọn ti n wa oye ti o jinlẹ ti isodipupo matrix.
alailanfani:
- Ko munadoko bi awọn ilana omiiran, pataki fun awọn matiri nla.
- Kii ṣe bi kika bi awọn isunmọ omiiran.
map () ọna iṣẹ
Ọna iṣẹ maapu () n pese ọna omiiran fun ṣiṣe isodipupo matrix ni Python. Ni ọna yii, a lo iṣẹ maapu () ti a ṣe sinu. Nitorinaa, a lo ohun elo siseto iṣẹ kan ti o kan iṣẹ ti a pese si awọn eroja iterable kọọkan (akojọ, tuple, ati bẹbẹ lọ). Paapaa, iṣẹ maapu () gba awọn aye meji, iṣẹ ati iterable. Ati, o pada ohun iterator ti o kan iṣẹ si kọọkan iterable ano.
Ni ọna yii, a lọ nipasẹ ọmọ ẹgbẹ kọọkan ti matrix ati ṣe isodipupo nipa lilo iṣẹ maapu () ti itẹ-ẹiyẹ.
Awọn zip () iṣẹ ti wa ni lo lati iterate nipasẹ kọọkan ano ti awọn matrices ni afiwe.
Ni ipari, iṣẹ apao () ni a lo lati ṣafikun awọn abajade.
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
Bayi, lẹẹkansi, a le ṣe idanwo koodu wa pẹlu apẹẹrẹ kan.
# 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]]
Anfani
- Ti o munadoko diẹ sii ju isunmọ tolera lọ
- O nlo siseto iṣẹ ṣiṣe lati jẹ ki koodu rọrun.
alailanfani
- Diẹ ninu awọn eniya ti ko faramọ pẹlu siseto iṣẹ le rii pe ko ṣee ka.
- O ti wa ni kere understandable ju iteeye losiwajulosehin ilana.
Akojọ oye ọna
Imọye atokọ jẹ ki o ṣe agbekalẹ atokọ tuntun ni laini koodu kan. Nitorinaa, eyi jẹ nipa lilo ikosile si ọmọ ẹgbẹ kọọkan ti atokọ ti o wa tẹlẹ.
Ni ọna yii, isodipupo ni a ṣe nipasẹ aṣetunṣe leralera nipasẹ ọmọ ẹgbẹ matrix kọọkan. A ti wa ni lilo siwa akojọ oye.
# 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]]
anfani
- Akawe si maapu () ọna iṣẹ, kuru ati siwaju sii ṣeékà.
alailanfani
- O le ni imunadoko diẹ sii ju lilo iṣẹ maapu () lọ, pataki fun awọn matiriki nla.
- O nira diẹ sii ju ọna itẹ-ẹiyẹ losiwajulosehin.
ipari
Ninu ifiweranṣẹ yii, a wo awọn omiiran si lilo NumPy nigba isodipupo awọn matrices ni Python. A ṣe isodipupo matrix ni awọn iyipo itẹ-ẹiyẹ, iṣẹ maapu () ti a ṣe sinu, ati oye atokọ.
Ilana ti o dara julọ yoo dale lori awọn iwulo pato ti iṣẹ akanṣe rẹ.
Ọkọọkan awọn ilana ni awọn anfani ati alailanfani ti tirẹ. Lati rii daju pe iṣẹ naa n ṣiṣẹ daradara, o jẹ imọran ti o dara lati ṣafikun diẹ ninu awọn ọran idanwo pẹlu ọpọlọpọ awọn iwọn matrix ati awọn iye.
O yẹ ki o tun pẹlu diẹ ninu awọn idanwo iṣẹ lati ṣe afiwe bii awọn ọna wọnyi ṣe ṣiṣẹ daradara.
Fi a Reply