본문 바로가기

Python/AI 수학 with Python

[Python] 행렬의 곱, 요소별 곱(아디마르 곱) 표시

numpy의 dot() 함수로 간단하게 구현할 수 있다.

[In]

import numpy as np
a = np.array([[0,1,2],
              [1,2,3]]) # 2x3 행렬

b = np.array([[2,1],
              [2,1],
              [2,1]]) # 3x2 행렬

print(np.dot(a,b)) # 2x2 행렬
 

[Out]

[[ 6  3]
 [12  6]]

 

 

Python에서는 * 기호를 통해 요소별 곱(아디마르 곱)을 실행할 수 있다.

[In]

import numpy as np

a = np.array([[0,1,2],
              [3,4,5],
              [6,7,8]]) # 3x3 행렬

b = np.array([[0,1,2],
              [2,0,1],
              [1,2,0]]) # 3x3 행렬

print(a*b)

[Out]

[[ 0  1  4]
 [ 6  0  5]
 [ 6 14  0]]