Pirkirina matrîxê di cebraya xêz de operasyoneke bingehîn e.
Em bi gelemperî wê di gelek sepanan de wekî hilberandina wêneyê, fêrbûna makîneyê, û hêj bêtir bikar tînin. NumPy ji bo hesabkirina zanistî pakêtek Python-a girîng e.
Lêbelê, di vê postê de, em ê li awayên cihêreng ji bo kirina pirkirina matrixê li Python bêyî karanîna NumPy binihêrin.
Em ê bikar bînin xelekên hêlîn, fonksiyona nexşe() ya çêkirî, û têgihîştina navnîşê.
Wekî din, em ê li berjewendî û kêmasiyên her stratejiyê, û hem jî dema ku her yek ji wan bicîh bînin, binihêrin. Heke hûn nû di cebraya xêzikî de ne û dixwazin di derbarê pirkirina matrixê de bêtir fêr bibin; xwendinê bidomînin.
Li ku derê Em Pirjimara Matrixê bikar tînin?
Pirkirina matrixê tê de tê bikar anîn grafikên computer ji bo guhertina dîmenên 2D û 3D. Mînakî, hûn dikarin tiştan li ser ekranê bizivirînin, pîvandin û wergerînin. Matrix di hilberandina wêneyê de têne bikar anîn da ku wêneyan wekî rêzikên pixelan nîşan bidin. Wekî din, matrixes dikarin werin bikar anîn da ku operasyonên mîna fîlterkirina wêneyê bikin.
Em di nav de matrixeyan jî bikar tînin fêrbûna makîneyê. Ew dikarin ji me re bibin alîkar ku em dane û pîvanên modelê temsîl bikin. Em dikarin gelek operasyonan pêk bînin, wekî hilberên xalî û hilberên matrix-vektor.
Bê guman, ev operasyon di operasyonên zanistî de jî pir bi avantaj e. Em dikarin wê di fîzîk û endezyariyê de bikar bînin da ku mîqdarên fizîkî diyar bikin. Ji ber vê yekê, em dikarin bi vektor û tensoran tevbigerin.
Çima Dibe ku Em Ne Hilbijêrin ku NumPy bikar bînin?
Dema ku NumPy a Pirtûkxaneya Python, ew her gav ne vebijarka îdeal e ji bo pirkirina matrixê. Dibe ku em ji ber sedemên mîna mezinahî û girêdayîbûnê, fêrbûn û pergalên mîrasê bikar neynin ku NumPy bikar bînin.
Bikaranîna fonksiyonên çêkirî yên Python an pêşvexistina koda xwerû dibe ku di hin rewşan de bikêrtir be. Lêbelê girîng e ku meriv bala xwe bide ku NumPy pirtûkxaneyek bihêz e. Wekî din, hûn dikarin wê ji bo pirkirina matrixê jî bikar bînin.
Naha, ka em mêze bikin ka em çawa dikarin bêyî NumPy pirbûna matrixê bi dest bixin.
Rêbaza pêlên nested
Teknîka lûpên hêlînkirî lûpên hêlînkirî bikar tîne da ku di Python de pirbûna matrixê pêk bîne. Fonksiyon li ser her hêmanek matrixê dubare dibe. Û, ew wan bi karanîna rêzikên hêlînên hêlînê zêde dike. Fonksiyon encama ku di matrixek nû de tê hilanîn vedigerîne.
Têgihîştina vê nêzîkatiyê rasterast e. Lêbelê, dibe ku ew wekî awayên din ne bikêr be, nemaze ji bo matricên mezin. Lêbelê, ew ji bo we vebijarkek ecêb e heke hûn di cebraya xêzik de nû ne.
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])
# Matrixa encamê li ser sifiran saz bikin.
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
Werin em mînakek bikin ka meriv çawa vê yekê dike. Hûn dikarin tenê van rêzikên kodê li jêr zêde bikin da ku vê nimûneyê biceribînin.
# 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]]
Xizmet:
- Têgihîştina hêsan.
- Ji bo nûbidestan an yên ku li têgihiştinek kûr a pirbûna matrixê digerin mezin e.
dezawantajên:
- Wekî teknîkên alternatîf ne bi bandor, nemaze ji bo matricên mezin.
- Ew wekî nêzîkatiyên alternatîf nayê xwendin.
nexşe () rêbaza fonksiyonê
Rêbaza fonksiyona nexşe() ji bo pirkirina matrixê di Python de rêgezek alternatîf peyda dike. Di vê nêzîkbûnê de, em fonksiyona nexşeya çêkirî () bikar tînin. Ji ber vê yekê, em amûrek bernamesaziya fonksiyonel bikar tînin ku fonksiyonek peydakirî li her hêmanek dubare (lîste, pirtik, hwd.) bicîh tîne. Di heman demê de, fonksiyona nexşeyê () du parameteran, fonksiyonek û îterable qebûl dike. Û, ew îteratorek vedigerîne ku fonksiyonê li her hêmanek dubare dike.
Di vê nêzîkbûnê de, em di her endamek matrixê re derbas dibin û bi karanîna fonksiyona nexşeya hêlîn () pirjimariyê dikin.
Fonksiyona zip() ji bo dubarekirina her hêmanên matrican bi paralel tê bikar anîn.
Di dawiyê de, fonksiyona sum() tê bikar anîn da ku encaman zêde bike.
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
Naha, dîsa, em dikarin koda xwe bi mînakek biceribînin.
# 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]]
Feyda
- Ji nêzîkatiya lûpên stûkirî bi bandortir
- Ew bernamekirina fonksiyonel bikar tîne da ku kodê hêsan bike.
dezawantajên
- Hin mirovên ku bi bernameya fonksiyonel nizanin dibe ku ew kêm bixwînin.
- Ew ji teknîka pêlên hêlîn kêmtir tê fêm kirin.
Rêbaza têgihîştina navnîşê
Têgihîştina navnîşê dihêle hûn di yek rêzek kodê de navnîşek nû çêbikin. Ji ber vê yekê, ev bi sepandina îfadeyek li ser her endamek navnîşek heyî ye.
Di vê nêzîkbûnê de, pirjimar bi dubarekirina dubare di nav her endamek matrixê de tête kirin. Em têgihîştina navnîşa qatkirî bikar tînin.
# 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]]
Alîkariyên
- Li gorî rêbaza fonksiyona nexşeyê () kurttir û bêtir xwendin.
dezawantajên
- Dibe ku ew ji karanîna fonksiyona nexşe() kêmtir bandorker be, nemaze ji bo matricên mezin.
- Ew ji nêzîkatiya hêlînên hêlînê dijwartir e.
Xelasî
Di vê postê de, me li alternatîfên karanîna NumPy dema ku matrices li Python zêde dikin mêze kir. Me pirkirina matrixê di hêlînên hêlînkirî de, fonksiyona nexşe() ya çêkirî, û têgihîştina navnîşê pêk anî.
Stratejiya çêtirîn dê li ser hewcedariyên taybetî yên projeya we ve girêdayî be.
Her yek ji stratejiyan xwedan erênî û neyînî hene. Ji bo ku hûn pê ewle bibin ku fonksiyon bi rêkûpêk dixebite, ramanek baş e ku hûn hin dozên ceribandinê bi pîvan û nirxên cûda yên matrixê zêde bikin.
Di heman demê de divê hûn hin ceribandinên performansê jî bicîh bikin da ku hûn van rêbazan çiqas baş pêk bînin berhev bikin.
Leave a Reply