Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python을 사용하여 두 행렬을 곱하는 방법은 무엇입니까?


두 행렬의 곱셈은 첫 번째 행렬의 열 수가 두 번째 행렬의 행 개수와 같을 때만 가능합니다.

중첩 루프를 사용하여 곱셈을 수행할 수 있습니다. 다음 프로그램에는 각각 3행과 3열로 구성된 두 개의 행렬 x와 y가 있습니다. 결과 z 행렬도 3X3 구조를 갖습니다. 첫 번째 행렬의 각 행의 요소에 두 번째 행렬의 열에 있는 해당 요소를 곱합니다.

예시

X = [[1,2,3],  
       [4,5,6],  
       [7,8,9]]  
 
Y = [[10,11,12],  
      [13,14,15],  
      [16,17,18]]  
 
result = [[0,0,0],  
               [0,0,0],  
              [0,0,0]]  
 
# iterate through rows of X  
for i in range(len(X)):  
   for j in range(len(Y[0])):  
       for k in range(len(Y)):  
           result[i][j] += X[i][k] * Y[k][j]  
for r in result:  
   print(r)  

출력

The result:
[84, 90, 96]
[201, 216, 231]
[318, 342, 366]