🐍 Π—Π°Π΄Π°Ρ‡Π° ΠΏΡ€ΠΎ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†



УсловиС: Π’Π°ΠΌ Π΄Π°Π½Ρ‹ Π΄Π²Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для ΠΈΡ… умноТСния. ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ.



РСшСниС: НапишСм Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° чистом Python

def matrix_multiply(A, B):

# Π‘Π½Π°Ρ‡Π°Π»Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ, ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ эти ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

if len(A[0]) != len(B):

raise ValueError("Number of A columns must equal number of B rows.")



# Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡƒΡŽ нулями

result = [[0 for _ in range(len(B[0]))] for _ in range(len(A))]



# ΠŸΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠΈΠΌ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹

for i in range(len(A)):

for j in range(len(B[0])):

for k in range(len(B)):

result[i][j] += A[i][k] * B[k][j]



return result



# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅

A = [[1, 2, 3],

[4, 5, 6]]



B = [[7, 8],

[9, 10],

[11, 12]]



result = matrix_multiply(A, B)

for row in result:

print(row)




#ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

#линСйная_Π°Π»Π³Π΅Π±Ρ€Π°