두 행렬의 곱셈은 첫 번째 행렬의 열 수가 두 번째 행렬의 행 개수와 같을 때만 가능합니다.
중첩 루프를 사용하여 곱셈을 수행할 수 있습니다. 다음 프로그램에는 각각 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]